zoukankan      html  css  js  c++  java
  • __str__,__repr__,__add__

    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)
  • 相关阅读:
    初识SpringBoot
    Dubbo案例SSM整合
    Dubbo
    Spring错题整合
    SSM整合
    SpringMVC数据校验
    SpringMVC拦截器
    SpringMVC文件上传
    SpringMVC异常
    字符串
  • 原文地址:https://www.cnblogs.com/cong12586/p/11371982.html
Copyright © 2011-2022 走看看