掌握Python的X篇_38_类的常见特殊方法让对象更好看

文章讲述了在Python中如何通过特殊类方法如`__repr__`改进对象的输出,使之更友好。作者提到`__repr__`的作用以及如何自定义,以提高代码的可读性,并建议参考Python官方文档了解更多信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python中所有的特殊类方法,都是为了让类或者说对象更加好用。

1. 让对象更好看_Python类中的特殊方法

我们之前实现的类,实例化对象,打印的结果可读性不好。

In [3]: class Dog:
   ...:     def __init__(self,arg_name,arg_age):
   ...:         self.name = arg_name
   ...:         self.age = arg_age
   ...:
   ...: if __name__ == "__main__":
   ...:     dog1 = Dog("旺财",5)
   ...:     dog2 = Dog("小强",6)
   ...:

In [4]: dog1
Out[4]: <__main__.Dog at 0x21376553670>

如果我们想要更友好的输出,我们需要自己实现一个特殊的类方法 __repr__,这个方法必须要返回一个字符串。

当我们打印实例化对象时,其实就是打印这个方法的返回值。

In [8]: class Dog:
   ...:     def __init__(self,arg_name,arg_age):
   ...:         self.name = arg_name
   ...:         self.age = arg_age
   ...:
   ...:     def introduce(self):
   ...:         print("我是",self.name,"年龄",self.age)
   ...:
   ...:     def __repr__(self):
   ...:         return self.name + ":" + str(self.age)
   ...:

In [9]: dog1 = Dog("旺财",5)

In [10]: print(dog1)
旺财:5

实际上可以从python的官方文档来获取相关信息,找object method对应的。 python是将__xx__作为自己的内部函数、变量使用

2. 学习视频地址:类的常见特殊方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

十月旧城

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值