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()方法,输出的是该方法的返回值。