zoukankan      html  css  js  c++  java
  • Python 内部类,内部类调用外部类属性,方法

    一 Python中内部类

    class MyOuter:
        age=18
        def __init__(self,name):
            self.name=name
    
        class MyInner:
            def __init__(self,inner_name):
                self.inner_name=inner_name
    
    out=MyOuter('lqz')
    inner=out.MyInner('lqz_inner')
    print(inner.inner_name)



    二 内部类调用外部类的类属性和类方法

    class MyOuter:
        age=18
        def __init__(self,name):
            self.name=name
        @classmethod
        def outer_class_method(cls):
            print('我是外部类的类方法')
    
        class MyInner:
            def __init__(self,inner_name):
                self.inner_name=inner_name
            def inner_method(self):
                print('我是内部类的对象方法')
                MyOuter.outer_class_method()
    
    out=MyOuter('lqz')
    inner=out.MyInner('lqz_inner')
    inner.inner_method()



    三 内部类调用外部对象的对象属性和方法

    需要在内部类构造的时候,把对象传过来

    class MyOuter:
        age=18
        def __init__(self,name):
            self.name=name
        @classmethod
        def outer_class_method(cls):
            print('我是外部类的类方法')
        def outer_obj_method(self):
            print('我是外部类对象的绑定方法')
    
        class MyInner:
            def __init__(self,inner_name,obj):
                self.inner_name=inner_name
                self.obj=obj
            def inner_method(self):
                print('我是内部类的对象方法')
                MyOuter.outer_class_method()
                self.obj.outer_obj_method()
    
    out=MyOuter('lqz')
    inner=out.MyInner('lqz_inner',out)
    inner.inner_method()

    REF

    https://blog.csdn.net/qq_42721964/article/details/85044615

  • 相关阅读:
    mtk lk阶段的lcm流程
    MTK touchscreen 流程
    MTK DDR调试
    增加,删除GMS包
    最大最小背光亮度修改
    HDMI 8193 配置
    mtk6737t摄像头配置文件的编译
    camera调试命令
    Linux 终端显示 Git 当前所在分支
    ubuntu系统,关于源(source)的配置
  • 原文地址:https://www.cnblogs.com/emanlee/p/15806119.html
Copyright © 2011-2022 走看看