当我尝试从 NewOne 类访问属性“self.b”时,为什么会收到“AttributeError: 'NewOne' object has no attribute 'self.b'”错误消息。我的意思是它就在那里。
class NewOne(object):
def __init__(self):
self.b = 'Cat' # this is what i want to access
def child(self):
self.c = 'kitten'
return self.c
class FatherClass(object):
def __init__(self, a):
self.a = a
def son(self):
self.i = 'I and my father'
return self.i
def father(self):
self.x = 'are one'
return self.x
def father_son(self):
u = NewOne()
k = getattr(u, 'self.b') #why does it tell me NewOne has no self.b attr
return self.a, k()
getattr不是用来访问方法的吗?为什么叫它 getattr 而不是 getmeth 之类的? 谢谢
请您参考如下方法:
替换这个:
k = getattr(u, 'self.b')
通过这个:
k = getattr(u, 'b')
或者更好的做法是:
k = u.b
