📅  最后修改于: 2020-09-20 03:58:23             🧑  作者: Mango
dir()
的语法为:
dir([object])
dir()
最多容纳一个对象。
dir()
尝试返回此对象的所有属性。 dir()
尝试返回对象的有效属性列表。
__dir__()
方法,则该方法将被调用,并且必须返回属性列表。 __dir__()
方法,则此方法尝试从__dict__
属性(如果已定义)和类型object中查找信息。在这种情况下,从dir()
返回的列表可能不完整。 如果没有将对象传递给dir()
方法,它将返回当前本地范围内的名称列表。
number = [1, 2, 3]
print(dir(number))
print('\nReturn Value from empty dir()')
print(dir())
输出
['__add__', '__class__', '__contains__', '__delattr__',
'__delitem__', '__dir__', '__doc__', '__eq__', '__format__',
'__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__',
'__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']
Return Value from empty dir()
['__annotations__', '__builtins__', '__doc__', '__loader__',
'__name__', '__package__', '__spec__', 'number']
class Person:
def __dir__(self):
return ['age', 'name', 'salary']
teacher = Person()
print(dir(teacher))
输出
['age', 'name', 'salary']