任何人能有足夠的例子向我解釋什麼區別的B/Winspect.getmembers()VS __dict __。項目()VS目錄()
>>> import inspect
>>> inspect.getmembers(1)
和
>>> type(1).__dict__.items()
和
>>> dir(1)
不同之處在於它們按照該順序顯示屬性&的降序no.s。 1是整數(但它可以是任何類型的。)
編輯
>>>obj.__class__.__name__ #gives the class name of object
>>>dir(obj) #gives attributes & methods
>>>dir() #gives current scope/namespace
>>>obj.__dict__ #gives attributes
根據你的目的,你可能想要再次編輯最後一個塊,替換其他對象(比如obj)的對象,並將最後一個註釋從「給予屬性」改爲「給出_instance_屬性」 - - 當'dir(obj)'基本上「包含繼承」時,'obj .__ dict __。keys()'不會 –