dir()方法嘗試返回對(duì)象的有效屬性列表。
dir()的語(yǔ)法為:
dir([object])
dir()最多容納一個(gè)對(duì)象。
對(duì)象(可選)-dir()嘗試返回此對(duì)象的所有屬性。
dir()嘗試返回對(duì)象的有效屬性列表。
如果對(duì)象具有__dir__()方法,則將調(diào)用該方法,并且必須返回屬性列表。
如果對(duì)象沒有__dir__() 方法,則此方法嘗試從__dict__屬性(如果已定義)和類型對(duì)象中查找信息。在這種情況下,從dir()返回的列表可能不完整。
如果沒有將object傳遞給dir()方法,它將返回當(dāng)前本地范圍內(nèi)的名稱列表。
number = [1, 2, 3] print(dir(number)) print('\nReturn Value from empty dir()') print(dir())
運(yùn)行該程序時(shí),輸出為:
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__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() ['__builtins__', 'number']
class Person: def __dir__(self): return ['age', 'name', 'salary'] teacher = Person() print(dir(teacher))
運(yùn)行該程序時(shí),輸出為:
['age', 'name', 'salary']