首页 >后端开发 >Python教程 >如何获取Python类中的方法列表?

如何获取Python类中的方法列表?

Susan Sarandon
Susan Sarandon原创
2024-10-29 20:40:02290浏览

How to Obtain a List of Methods within a Python Class?

获取 Python 类中的方法列表

迭代类的方法或根据其方法以不同方式处理其对象需要检索这些方法的列表。本文提供了两种方法来实现此目的。

使用inspect.getmembers()

此函数将类或实例作为其第一个参数,并将谓词函数作为其第二个论点。谓词函数根据特定条件过滤返回的列表。要检索类中的方法列表,我们可以传递inspect.ismethod作为谓词函数。

<code class="python">from inspect import getmembers, ismethod

class MyClass:
    def method1(self):
        pass

    def method2(self):
        pass    

# Python 2.x
methods = getmembers(MyClass, ismethod)

# Python 3.x
methods = getmembers(MyClass, isfunction)</code>

methods 变量将包含一个元组列表,每个元组包含方法名称和方法对象.

使用 dir()

dir() 函数返回对象的所有属性的列表,包括方法。但是,它还包含非方法属性,这可能需要额外的过滤。

<code class="python">methods = [m for m in dir(MyClass) if callable(getattr(MyClass, m))]</code>

callable() 过滤器检查属性是否可调用,指示方法。请记住,这种方法可能不如使用inspect.getmembers()那么可靠,因为它可能包含非方法属性。

以上是如何获取Python类中的方法列表?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn