str&repr的使用

str与repr并不存在优先级,本质上执行print就是在调用系统的__str__方法,而repr作用在python编辑器中,所以只用在str不存在时,print会找repr来顶替使用

实现代码如下:

 1 class Run:
 2     def __init__(self,name,age):
 3         self.name=name
 4         self.age=age
 5     # def __str__(self):
 6     #     return '这是str的 名字叫%s年龄是%s'%(self.name,self.age)
 7 
 8     def __repr__(self):  #python解释器调用的
 9         return  '这是repr的 名字叫%s年龄是%s' % (self.name, self.age)
10 
11 r1=Run('Kevin',23)
12 print(r1) #本质上执行print就是在调用__str__方法

 但不管如何,返回值必须为字符串类型,否则直接抛异常

猜你喜欢

转载自www.cnblogs.com/wen-kang/p/9252177.html