温馨提示×

python print方法能否输出自定义对象

小樊
81
2024-09-25 06:43:11
栏目: 编程语言

是的,Python的print方法可以输出自定义对象。

在Python中,可以使用__str__()和__repr__()方法来自定义对象的打印输出格式。

str()方法返回一个可读性高的字符串形式,用于显示给用户。

repr()方法返回一个明确的、能用来复现该对象的字符串形式,用于开发人员调试代码。

如果一个类没有定义__str__()方法,那么它的__repr__()方法会被调用,否则调用__str__()方法。

例如:

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

    def __str__(self):
        return f"{self.name}, {self.age} years old"

    def __repr__(self):
        return f"Person('{self.name}', {self.age})"

p = Person("Alice", 25)
print(p)  # 输出: Alice, 25 years old
print(repr(p))  # 输出: Person('Alice', 25)

在这个例子中,Person类定义了__str__()和__repr__()方法,用于控制对象的打印输出格式。当我们打印一个Person对象时,str()方法被调用,输出一个可读性高的字符串形式。当我们使用repr()函数打印一个Person对象时,repr()方法被调用,输出一个明确的、能用来复现该对象的字符串形式。

0