内置方法__str__和__repr__

object对象中有一个 __str__.  一旦被调用就显示内存地址

repr 是str 的备胎,  当没有__str__  有  __repr__时调用  repr

str(obj)实际是调用的内部方法obj.__str__方法, 如果有必定返回一个字符串  如果没有__str__方法,  先找本类中的__repr__方法, 在没有找父类中的__str__方法

 

 repe()  只会调用__repr__,  没有调用父类的__repr__   不会调用__str__

 

如果__repr__  和__str__  只能一个,   最好是用__repr__  两个都能用

class Na:
    def __init__(self):
        self.name = 'zhoutaixin'
        self.age = 23
    # def __str__(self):
    #     return '调用的的是方法%s'%self.name
    def __repr__(self):
        return '调用额是%r'%self.age
a = Na()
print(a)

 

posted @ 2020-04-08 14:04  taysem  阅读(125)  评论(0编辑  收藏  举报