其他内置方法信息格式化操作有两个,一个是__str__,一个是__repr__
目录
1、__str__
编辑
触发方式有两种,一种是通过print(p)还有一种是打印str(p1)
2、__repr__:触发方式也有这两种
一种是直接打印print(repr)
还有一种是在交互界面直接敲p
1、__str__
class Person:
def __init__(self,n,a):
self.name = n
self.age= a
def __str__(self):
return '这个人的基础信息是:姓名是:%s,年龄是%s'%(self.name,self.age)
p1 = Person('sz',19)
# print(p1.name)
# print(p1.age)
print(p1)
p2 = Person('YX',23)
print(p2.name)
print(p2.age)
s = str(p1)
print(s,type(s))
原先的形式都是例如print(p1.age)或者print(p1.name)想要得到一个属性非常的繁琐,再者就是print(p)得到的东西是一串神奇的id不太方便,所以在这里引入__str__这个格式化操作的内置方法。
用__str__的返回值能够得到所需要的属性。
触发方式有两种,一种是通过print(p)还有一种是打印str(p1)
2、__repr__:触发方式也有这两种
一种是直接打印print(repr)
还有一种是在交互界面直接敲p
class Person:
def __init__(self,n,a):
self.age = n
self.name = a
def __str__(self):
return '这个人的基础信息是:姓名是:%s,年龄是%s'%(self.name,self.age)
def __repr__(self):
return 'repr***'
p1 = Person('sz',18)
print(p1)
print(repr(p1))
直接触发了~~~!!!
还有一种就是在交互界面中蹦跶蹦跶就可以了~
总结:两种方法:str是为了,让用户有更好的视觉体验,然后repr是更加有开发者的思维