對於一類的屬性:類或實例的`__dict__`包含哪些屬性,哪些不包含?
- 類或一個實例的屬性
__dict__
不包括__base__
,__name__
。 類__dict__
包含哪些屬性,哪些不屬於? - 如何獲得課程的所有屬性?
對於一個實例的屬性:
- 一個實例的屬性
__dict__
不包括__class__
。 一個實例的__dict__
包含哪些屬性,哪些不屬於? - 如何獲取實例的所有屬性?
謝謝。
對於一類的屬性:類或實例的`__dict__`包含哪些屬性,哪些不包含?
__dict__
不包括__base__
,__name__
。 類__dict__
包含哪些屬性,哪些不屬於?對於一個實例的屬性:
__dict__
不包括__class__
。 一個實例的__dict__
包含哪些屬性,哪些不屬於?謝謝。
字典很有意思。您需要了解的是Python如何查找屬性,方法等。像名稱存儲在dir(實例)中,它不是您班級的標準getattr的一部分。只有明確定義的屬性和方法是A. dict的一部分,其他東西是複雜查找系統的一部分,剩下的就是查看類,子類等,直到找到「對象」。
第二個問題都沒有回答;並檢查格式'__dict__' vs __dict__ – no1xsyzy
__dict__
不包括:
__slots__
中聲明的任何屬性。您可以做的最好的列出所有屬性是dir
,但它往往是不可靠的。
還有,方法來覆蓋'__dict__'本身,以及重寫覆蓋的方法。我忘記了這是如何工作的。 – o11c
看看['dir'](https://docs.python.org/3/library/functions.html#dir)函數。它包含超類的參數。更多信息[這裏](https://stackoverflow.com/questions/6761106/inspect-getmembers-vs-dict-items-vs-dir) –
它不包括大部分的魔術方法,在'__slots__'中定義的任何東西, 除其他事項外。 –
@MadPhysicist謝謝。 「魔法」是什麼意思? – Ben