当前位置: 移动技术网 > IT编程>脚本编程>Python > __str__,__repr__,__add__

__str__,__repr__,__add__

2019年08月18日  | 移动技术网IT编程  | 我要评论

马超群干爹合影照,迅雷粉,王马玲

class school:
    def __init__(self,name,addr,type):
        self.name=name
        self.addr=addr
        self.type=type

    def __repr__(self):
        return 'school(%s,%s)' %(self.name,self.addr)
    def __str__(self):
        return '(%s,%s)' %(self.name,self.addr)
    def __add__(self, other):
        return school(self.name + other,'henan','daxue')
'''
str函数或者print函数--->obj.__str__()
repr或者交互式解释器--->obj.__repr__()
如果__str__没有被定义,那么就会使用__repr__来代替输出
注意:这俩方法的返回值必须是字符串,否则抛出异常
两个方法并没有太大的区别
'''
school = school('农大','河南','大学')
# 我们没有定义__str__,__repr__时,返回是这样的
# <__main__.school object at 0x000001d5e3623358>
print(school)
# 两个都定义时
print(school) # (农大,河南)
# 只有__repr__时
print(school) # school(农大,河南)

# 当对象有 + 操作时,会调用__add__方法
# 只能写成school + 'henan'
# 不能写成‘henan’ + school
school1 = school + 'henan'
print(school1)

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网