创建类的实例时有时候需要给类传入参数,如何看到自己传入的参数是否准确并且方便,可以使用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)
>>> s
Student 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是将对象转化为适于人阅读的形式。