第三十章、内置函数重载

1. str函数重载

什么是内置函数重载

内置函数重载是指通过实现特殊方法(如 __len____str____int__ 等),让自定义类创建的对象支持len(obj)、str(obj)、int(obj)等 Python 内置函数的操作。

作用

让开发者自定义类和 Python 的内置类相兼容,可以使用内置函数len(x)、str(x)等对自定义类创建的对象统一操作。

str(obj) 函数的重载

内置函数 str

内置函数
对应的特殊方法
说明
str(obj)
__str__()
返回对象的字符串表示

示例

# str(x) 函数重载 示例

class Human:
    def __init__(self, name, age):
        self.name, self.age = name, age

    def __str__(self):
        return f'{self.age}岁的{self.name}'

h1 = Human('张三', 18)
s = str(h1)  # 实际调用 h1.__str__() 方法
print(s)

print(h1)  # 也是调用的 str(h1)