让我们假设这个例子:两个兄弟姐妹类,其中一个加载另一个类作为一个新属性,然后我希望从兄弟内的主类使用该属性。Python反向自省
a = 2
class AN(object):
def __init__(self,a):
self.aplus = a + 2
self.BECls = BE(a)
class BE(object):
def __init__(self,a):
print a
def get_aplus(self):
????
c = AN(a)
,我想这样做:
c.BECls.get_aplus()
,这将返回类似self.self.aplus(比喻),这将是4
恢复:让Aplus的属性从BE内部的AN中,没有声明为参数,而是做一个“反向内省”,如果可能的话,考虑到'a'变量必须已经通过AN加载。
对不起,如果我没有让自己清楚,但我试图简化我的真实代码发生了什么。
我想这个问题可能是我在类上使用的技术。但不知道什么或如何使它更好。
感谢
为什么你不能只给了'BE'对象到其相应的'AN'参考? – 2012-04-27 06:10:29
其实这是我喜欢做的事情,但怎么?欢呼 – AndreLobato 2012-04-29 00:46:44
我不能给BE一个对象(an_obj = AN(self.a)),因为它会陷入一个无限循环,试图一遍又一遍地加载自身,上升的RunTimeError。 – AndreLobato 2012-04-29 02:28:37