由Java的内部类,猜想Python是否对内部类支持?
代码如下:
# -*- coding:utf-8 -*- class OutClass: static = 3 def __init__(self): self.__a = 1 def printout(self): print self.__a def set_a(self,a): self.__a = a def get_a(self): return self.__a def printout(self): print '外部类输出其静态变量',OutClass.static class InnerClass: def __init__(self): self.__b = 2 def printout(self): print self.__b print '从内部类输出外部类的静态变量',OutClass.static def set_b(self,b): self.__b = b def get_b(self): return self.__b Outtest = OutClass() Outtest.printout() print Outtest.get_a() InTest = OutClass.InnerClass() InTest.printout() print InTest.get_b() print Outtest print InTest
运行结果如下:
外部类输出其静态变量 3
1
2
从内部类输出外部类的静态变量 3
2
<__main__.OutClass instance at 0x0000000002F7AF08>
<__main__.InnerClass instance at 0x0000000002F7AF88>
1
2
从内部类输出外部类的静态变量 3
2
<__main__.OutClass instance at 0x0000000002F7AF08>
<__main__.InnerClass instance at 0x0000000002F7AF88>
可见Python内支持类的嵌套使用,但是只是限于嵌套,内部类和外部类之间参数公用性不如Java灵活
注意:在类方法里面访问静态变量的方式!类名.变量名