给定一个任何类型的Python对象,是否有一种简单的方法来获得该对象拥有的所有方法的列表?
或者如果这是不可能的,是否至少有一种简单的方法来检查它是否具有特定的方法,而不是在调用方法时检查是否发生错误?
给定一个任何类型的Python对象,是否有一种简单的方法来获得该对象拥有的所有方法的列表?
或者如果这是不可能的,是否至少有一种简单的方法来检查它是否具有特定的方法,而不是在调用方法时检查是否发生错误?
当前回答
获取任何对象的方法列表的最简单方法是使用help()命令。
help(object)
它将列出与该对象相关的所有可用/重要方法。
例如:
help(str)
其他回答
以列表为对象
obj = []
list (lambda过滤器(x: callable getattr (obj, x), obj __dir__())。
你会得到:
['__add__',
'__class__',
'__contains__',
'__delattr__',
'__delitem__',
'__dir__',
'__eq__',
'__format__',
'__ge__',
'__getattribute__',
'__getitem__',
'__gt__',
'__iadd__',
'__imul__',
'__init__',
'__init_subclass__',
'__iter__',
'__le__',
'__len__',
'__lt__',
'__mul__',
'__ne__',
'__new__',
'__reduce__',
'__reduce_ex__',
'__repr__',
'__reversed__',
'__rmul__',
'__setattr__',
'__setitem__',
'__sizeof__',
'__str__',
'__subclasshook__',
'append',
'clear',
'copy',
'count',
'extend',
'index',
'insert',
'pop',
'remove',
'reverse',
'sort']
获取任何对象的方法列表的最简单方法是使用help()命令。
help(object)
它将列出与该对象相关的所有可用/重要方法。
例如:
help(str)
假设我们有一个Python obj。然后查看它拥有的所有方法,包括那些被__包围的方法(魔术方法):
print(dir(obj))
要排除魔法内置,可以这样做:
[m for m in dir(obj) if not m.startswith('__')]
在更直接的答案之上,如果我没有提到IPython,那就是我的疏忽。
按Tab键查看可用的方法,自动补全。
一旦你找到了一个方法,试试:
help(object.method)
查看pydocs、方法签名等。
啊…REPL。
检查它是否有特定的方法:
hasattr(object,"method")