'a.b.a'和'b.b.a'之间有什么区别吗?

时间:2010-01-13 09:29:23

标签: python

class a(object):
    class b:
        a='aaa'

print a.b.a#print 'aaa'

b=a()
print b.b.a#print 'aaa'

3 个答案:

答案 0 :(得分:5)

没有

要创建实例变量,您需要在构造函数方法self.中使用__init__(self)为它们显式添加前缀。

在您的代码中,您只需在类范围内进行分配,并且可以双向访问这些变量。

答案 1 :(得分:4)

运行代码,然后运行a.b.a is b.b.a会得到True的结果,这表明它们确实是指同一个对象 - 内部类{{1}的类变量a 1}}。

答案 2 :(得分:0)

无论哪种方式,您都在访问:“outer class / object.inner class / object.member”。