Python基础教程(三十八)定制类:Python黑魔法手册,定制类的深度探索与实战技巧

在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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

值引力

持续创作,多谢支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值