加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

Python 内部类,内部类调用外部类属性,方法

发布时间:2023-04-11 11:15:14 所属栏目:教程 来源:
导读:Python 内部类,内部类调用外部类属性,方法

一 Python中内部类

class MyOuter:
age=18
def __init__(self,name):
self.name=name
class MyInner:
def __init__(self,inner_
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()
 

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章