初始属性显示-- __str__

来源:互联网 发布:unity3d文件手机怎么看 编辑:程序博客网 时间:2024/04/26 07:54

创建类的实例时有时候需要给类传入参数,如何看到自己传入的参数是否准确并且方便,可以使用str

class Student(object):                         #类    def __init__(self,year,month,day):        #初始属性        self.year=year        self.month=month        self.day=day    def __str__(self):               #将初始属性打印出来(返回用户看到的字符串)        return 'Student object :year-month-day :%d-%d-%d'%(self.year,self.month,self.day)    __repr__=__str__            #将初始属性打印出来(调试服务)             

输出:

>>> s=Student(2017,10,31)>>> sStudent object :year-month-day :2017-10-31

如果没有repr=str

>>> class Student(object):    def __init__(self,year,month,day):        self.year=year        self.month=month        self.day=day    def __str__(self):        return 'Student object :year-month-day :%d-%d-%d'%(self.year,self.month,self.day)>>> s=Student(2017,10,31)>>> s<__main__.Student object at 0x0000000003146D30>

因为python 首先是将队形转化为共加湿器读取的形式,也就是先调用repr,而str是将对象转化为适于人阅读的形式。