我想要一个具有内部类可以访问外部类的成员的嵌套类的Python类。我明白,正常的嵌套甚至不需要外部类有一个实例。我有一些代码,似乎产生我想要的结果,我想在风格和不可预见的并发症从内部类访问外部类方法
反馈代码:
class A():
def __init__(self,x):
self.x = x
self.B = self.classBdef()
def classBdef(self):
parent = self
class B():
def out(self):
print parent.x
return B
输出:
>>> a = A(5)
>>> b = a.B()
>>> b.out()
5
>>> a.x = 7
>>> b.out()
7
所以,A有一个内部类B,它只能从A的实例创建。然后B通过父变量访问A的所有成员。
是否有你需要B的情况下,只能从内部的创建的原因是什么?类继承似乎是实现这一点的一种更简单的方式。 – Wilduck 2010-07-01 19:14:38