13. Special Attributes
該實現為(wèi)幾個相關的對象類型添加了(le)一(yī)些特殊的隻讀屬性。其中一(yī)些不是由dir()內(nèi)置函數(shù)報告的。
object.__dict__
用于存儲對象(可(kě)寫)屬性的字典或其他(tā)映射對象。
object.__methods__
自(zì)2.2版棄用:使用內(nèi)置函數(shù)dir()獲取對象屬性的列表。該屬性不再可(kě)用。
object.__members__
自(zì)2.2版棄用:使用內(nèi)置函數(shù)dir()獲取對象屬性的列表。該屬性不再可(kě)用。
instance.__class__
類實例所屬的類。
class.__bases__
類對象的基類的元組。
definition.__name__
類,類型,函數(shù),方法,描述符或生成器實例的名稱。
以下(xià)屬性僅受新風(fēng)格類 es的支持。
class.__mro__
此屬性是在方法解析期間(jiān)查找基類時(shí)所考慮的類的元組。
class.mro()
這(zhè)個方法可(kě)以被一(yī)個元類覆蓋,為(wèi)它的實例定制方法解析順序。它在類實例化中被調用,并且其結果被存儲在__mro__。
class.__subclasses__()
每個新樣式類都(dōu)保留一(yī)個對其直接子類的弱引用列表。該方法返回所有這(zhè)些仍然存在的引用的列表。例:
>>> int.__subclasses__()
[
複制
注
1 | 有關這(zhè)些特殊方法的更多信息,請(qǐng)參閱Python參考手冊(基本定制)。 |
---|---|
2 | 結果,列表1,2被認為(wèi)等于1.0,2.0,對于元組也是類似的。 |
3 | 自(zì)解析器無法分辨操作(zuò)數(shù)的類型以來,它們必須具備。 |
4 | (1,2,3,4)套用字符是那(nà)些通(tōng)用類屬性是“Lu”(Letter,大寫),“Ll”(Letter,小寫)或“Lt”(Letter,titlecase)之一(yī)的字符。 |
5 | 為(wèi)了(le)隻格式化一(yī)個元組,你應該提供一(yī)個單元組元素,它的唯一(yī)元素是要(yào)被格式化的元組。 |
6 | 離開(kāi)換行(xíng)符的優點是返回一(yī)個空字符串是一(yī)個明(míng)确的EOF指示。這(zhè)也有可(kě)能(néng)(例如(rú),如(rú)果你想在掃描文件的同時(shí)制作(zuò)一(yī)份文件的精确副本),以判斷文件的最後一(yī)行(xíng)是否以換行(xíng)符結束(是的,這(zhè)是發生的!)。 |