Python“内部类”

来源:互联网 发布:汽车分期付款怎么算法 编辑:程序博客网 时间:2024/06/05 05:35
由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.__bOuttest = OutClass()Outtest.printout()print Outtest.get_a()InTest = OutClass.InnerClass()InTest.printout()print InTest.get_b()print Outtestprint InTest
运行结果如下:
外部类输出其静态变量 3
1
2
从内部类输出外部类的静态变量 3
2
<__main__.OutClass instance at 0x0000000002F7AF08>
<__main__.InnerClass instance at 0x0000000002F7AF88>

可见Python内支持类的嵌套使用,但是只是限于嵌套,内部类和外部类之间参数公用性不如Java灵活
注意:在类方法里面访问静态变量的方式!类名.变量名
0 0