python 重写__repr__与__str__函数

Posted i勤能补拙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 重写__repr__与__str__函数相关的知识,希望对你有一定的参考价值。

‘‘‘
重写:将函数重写定义写一遍

__str__():在调用print打印对象时自动调用,是给用户用的,是一个描述对象的方法。
__repr__():是给机器用的,在Python解释器里面直接敲对象名在回车后调用的方法
注意:在没有str时,且有repr,str = repr

‘‘‘
class Person(object):
def __init__(self, name, age, height, weight):
self.name = name
self.age = age
self.height = height
self.weight = weight
def __str__(self):
return "%s-%d-%d-%d" % (self.name, self.age, self.height, self.weight)


per = Person("hanmeimei", 20, 170, 55)
#print(per.name, per.age, per.height, per.weight)
print(per)

#有点:当一个对象的属性值很多,并且都需要打印,重写了__str__方法后,简化了代码

以上是关于python 重写__repr__与__str__函数的主要内容,如果未能解决你的问题,请参考以下文章

python __str__ 与 __repr__区别

python中__str__与__repr__

python __str__ , __repr__区别

python Class:面向对象高级编程 __str__ / __repr__

Python类的内置方法

python学习之__str__,__repr__