查找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。