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