python面向对象__str__和__repr__方法

__str__方法

class Animal:
    def __init__(self,name,color):
        self.name=name
        self.color=color

    def __str__(self):
        res=self.name+'的颜色是'+self.color
        return res
bat=Animal('蝙蝠','黑色')
print('蝙蝠的特征:%s' % bat)
# 蝙蝠的特征:蝙蝠的颜色是黑色

对象输出或者打印就会执行__str__方法

__repr__方法

如果没有找到__str__,就会调用__repr__

class Animal:
    def __init__(self,name,color):
        self.name=name
        self.color=color

    def __repr__(self):
        res=self.name+'的颜色是'+self.color
        return res
bat=Animal('蝙蝠','黑色')
print('你了解蝙蝠吗?%r'% bat)
#你了解蝙蝠吗?蝙蝠的颜色是黑色

你可能感兴趣的:(python,开发语言)