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

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

文章目录

  • 1. 让对象更好看_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. 学习视频地址:类的常见特殊方法

你可能感兴趣的:(#,掌握Python的X篇,python,开发语言)