码迷,mamicode.com
首页 > 其他好文 > 详细

__str__,__repr__,__add__

时间:2019-08-18 14:06:45      阅读:80      评论:0      收藏:0      [点我收藏+]

标签:def   注意   turn   函数   调用   交互式   sch   字符串   bsp   

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)

 

__str__,__repr__,__add__

标签:def   注意   turn   函数   调用   交互式   sch   字符串   bsp   

原文地址:https://www.cnblogs.com/cong12586/p/11371982.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!