在编程中,类对象是指通过类定义创建的实例。通常情况下,直接打印类对象会得到对象的内存地址,而不是对象的实际内容。这是因为默认情况下,对象的打印行为是由对象的__str__
或__repr__
方法决定的,而这些方法默认返回对象的内存地址。
无法打印类对象通常是因为:
__str__
或__repr__
方法:默认情况下,打印类对象会调用这些方法,返回内存地址。可以通过重写__str__
或__repr__
方法来控制类对象的打印行为。以下是一个示例:
class MyClass:
def __init__(self, name, age):
self.name = name
self.age = age
def __str__(self):
return f"MyClass(name={self.name}, age={self.age})"
def __repr__(self):
return f"MyClass('{self.name}', {self.age})"
# 创建对象并打印
obj = MyClass("Alice", 30)
print(obj) # 输出: MyClass(name=Alice, age=30)
通过重写__str__
或__repr__
方法,可以自定义类对象的打印输出,使其更加友好和易于理解。