为什么会get不到name
为什么用getattr不能获得name
为什么用getattr不能获得name
2021-03-10
class Person(object): def __init__(self, name, gender, score): self.name = name self.gender = gender self.score = score def __str__(self): return 'name:{},gender:{},score:{}'.format(self.name, self.gender, self.score) def __repr__(self): return 'name:{},gender:{},score:{}'.format(self.name, self.gender, self.score) n = Person('Bob', 'Male', '97') print(n) m = getattr(n, 'name', 'void') print(m)
这样就没问题。 我看不懂你那第13行 b.tian 是个什么东西,而且getattr里对象和属性用逗号分隔,你用的啥?
getattr可以接收3个参数,用逗号隔开,第一个是对象,第二个是属性,第三个是返回值,返回值可以不写,但如果没有该属性就会报错。我写的加了返回值,如果属性不存在,就会返回 void ,而不会报错。
举报