User: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

參考文獻 编辑