當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python dir()用法及代碼示例


dir() 方法嘗試返回對象的有效屬性列表。

用法:

dir([object])

參數:

dir() 最多占用一個對象。

  • object(可選的) -dir()嘗試返回此對象的所有屬性。

返回:

dir() 嘗試返回對象的有效屬性列表。

  • 如果對象有__dir__() 方法,該方法將被調用並且必須返回屬性列表。
  • 如果對象沒有__dir__() 方法,則此方法嘗試從__dict__ 屬性(如果已定義)和類型對象中查找信息。在這種情況下,從dir() 返回的列表可能不完整。

如果對象未傳遞給dir() 方法,則返回當前本地範圍內的名稱列表。

示例 1: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']

示例 2:dir() 在用戶定義的對象上

class Person:
  def __dir__(self):
    return ['age', 'name', 'salary']
    

teacher = Person()
print(dir(teacher))

輸出

['age', 'name', 'salary']

相關用法


注:本文由純淨天空篩選整理自 Python dir()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。