给定任何类型的 Python 对象,是否有一种简单的方法来获取该对象具有的所有方法的列表?
要么,
如果这不可能,除了简单地检查调用方法时是否发生错误之外,是否至少有一种简单的方法来检查它是否具有特定方法?
原文由 Thomas Lötzer 发布,翻译遵循 CC BY-SA 4.0 许可协议
给定任何类型的 Python 对象,是否有一种简单的方法来获取该对象具有的所有方法的列表?
要么,
如果这不可能,除了简单地检查调用方法时是否发生错误之外,是否至少有一种简单的方法来检查它是否具有特定方法?
原文由 Thomas Lötzer 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用内置的 dir()
函数来获取模块具有的所有属性的列表。在命令行中试试看它是如何工作的。
>>> import moduleName
>>> dir(moduleName)
此外,您可以使用 hasattr(module_name, "attr_name")
函数来查明模块是否具有特定属性。
有关详细信息,请参阅 Python 自省。
原文由 Bill the Lizard 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1k 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
对于许多对象,您可以使用此代码,将“对象”替换为您感兴趣的对象:
我在 diveintopython.net 上发现了它(现已存档),应该会提供更多详细信息!
如果你得到一个
AttributeError
,你可以改用这个:getattr()
不能容忍熊猫风格的 Python 3.6 抽象虚拟子类。此代码与上面的代码相同,并忽略异常。