阅读量:0
是的,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()方法被调用,输出一个明确的、能用来复现该对象的字符串形式。