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

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

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!