在Python中,万物皆对象。而赋予对象独特个性和行为的关键,在于定制类(Customizing Classes)。这不仅仅是定义__init__方法初始化属性,更是一套通过魔术方法(Magic Methods) 深度集成对象到Python语言核心机制的强大工具集。
1. 基础定制:让对象“会说话”
__init__(self, ...): 构造器,定义对象初始化逻辑。__repr__(self) -> str: 官方字符串表示,供开发者调试(如eval(repr(obj))应能重建对象)。__str__(self) -> str: 用户友好的字符串表示,print(obj)或str(obj)时调用。优先实现__repr__,__str__可选。__del__(self): 析构器(谨慎使用),对象被垃圾回收前调用。
class Point:
def __init__(self, x, y):
self.x = x
self.y = y
def __repr__(self):
return f"Point({self.x}, {self.y})" # 明确,可用于重建
def __str__(self):
return f"({self.x}, {self.y})" # 简洁,用于展示
p = Point(3, 4)
print(repr(p)) # 输出: Point(3, 4)

最低0.47元/天 解锁文章
973

被折叠的 条评论
为什么被折叠?



