使用者:Xyy23330121/Python/類的方法與其它內置函數
轉換類型
編輯轉換為字符串 / bytes
編輯object.__repr__(self)
編輯用於支持操作 repr(self)
,本方法必須返回字符串。
object.__str__(self)
編輯用於支持操作 str(self)
,本方法必須返回字符串。
object.__bytes__(self)
編輯用於支持操作 bytes(self)
,本方法必須返回 bytes 對象。
object.__format__(self, format_spec)
編輯用於支持操作 format(self)
,str.format
也會使用此方法來生成「格式化字符表示」。
format_spec
參數為包含所需格式選項描述的字符串——這個字符串的內容以及如何解讀,是可以由此方法自定義的!在自定義的情況下,不再需要嚴格遵守格式規格迷你語言。
對於字符串格式化有幫助的內容,還有 __getitem__
方法 以及 __getattr__
方法
轉換為內置數字類型
編輯object.__complex__(self)
編輯用於支持操作 complex(self)
。
如果未定義此方法,在使用 complex(self)
時,會嘗試使用 complex(self.__float__())
的結果。如果未定義 float,會嘗試使用 complex(self.__index__())
的結果。
object.__int__(self)
編輯用於支持操作 int(self)
。
如果未定義此方法,在使用 int(self)
時,會嘗試使用 self.__index__()
的結果。
object.__float__(self)
編輯用於支持操作 float(self)
。
如果未定義此方法,在使用 float(self)
時,會嘗試使用 float(self.__index__())
的結果。
object.__index__(self)
編輯應用於支持 operator
模塊中的 operator.index(self)
操作 [1]。也用於在未定義上面三個方法時,為上面對應的三種操作提供支持。此方法必須返回整數。
object.__bool__(self)
編輯用於支持操作 bool(self)
。
如果一個類的 __len__
和 __bool__
都未定義,則其所有實例在布爾運算時都會被視為 True