python __repr__函数

通常情况下,直接输出某个实例化对象,本意往往是想了解该对象的基本信息,例如该对象有哪些属性,它们的值各是多少等等。但默认情况下,我们得到的信息只会是“类名+object at+内存地址”,对我们了解该实例化对象帮助不大。

class Test():
    def __init__(self, name):
        self.name = name
        
print(Test('english'))
----------------------------------------------------
<__main__.Test object at 0x0000029860FE9B20>

Process finished with exit code 0
class Test():
    def __init__(self, name):
        self.name = name

    def __repr__(self):
        return  f'class name is {self.name}'

print(Test('english'))
------------------------------------------------------
D:\pythonbasic\venv\Scripts\python.exe D:/pythonbasic/fluentpython/使用特殊方法.py
class name is english

Process finished with exit code 0

 通过重写类__repr__()方法就可以,当我们输出某个实例化对象时,其调用的就是该对象的__repr()方法,输出的是该方法的返回值。

 

posted @ 2022-06-29 20:17  zed99  阅读(80)  评论(0编辑  收藏  举报