查找Python对象具有的方法

时间:2020-03-05 18:44:59  来源:igfitidea点击:

给定任何类型的Python对象,是否有一种简单的方法来获取该对象具有的所有方法的列表?

或者,

如果这是不可能的,那么除了简单地检查调用该方法时是否发生错误之外,是否至少有一种简便的方法来检查它是否具有特定的方法?

解决方案

回答

看来我们可以使用此代码,将" object"替换为我们感兴趣的对象:-

[method_name for method_name in dir(object)
 if callable(getattr(object, method_name))]

我在此站点上发现了它,希望可以提供更多详细信息!

回答

我们可以使用内置的dir()函数来获取模块具有的所有属性的列表。在命令行上尝试此操作以查看其工作原理。

>>> import moduleName
>>> dir(moduleName)

同样,我们可以使用" hasattr(module_name," attr_name")`函数来查找模块是否具有特定的属性。

有关更多信息,请参见Python自省指南。

回答

要检查它是否具有特定方法:

hasattr(object,"method")

回答

除了更直接的答案之外,如果我不提及iPython,我也会被忽略。
点击"标签"以查看具有自动补全功能的可用方法。

找到方法后,请尝试:

help(object.method)

查看pydocs,方法签名等。

啊... REPL。