• 技术文章 >Python技术 >Python基础教程

    python中super获取类变量

    小妮浅浅小妮浅浅2021-05-08 09:48:20原创2883

    本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

    1、super 一般情况下获取的是方法,不过也可以获取变量:

    class Base:
        NAME = 'BASE'
     
     
    class Sub(Base):
        NAME = 'SUB'
     
        def print(self):
            print(self.NAME)
            print(super(Sub, Sub).NAME)
            
    >>> Sub().print()
    SUB
    BASE

    2、实例变量是无法获取的,因为父类并没有实例化,实例变量是不存在的,因此肯定是无法继承的。

    还有一种情况:

    class Base:
        NAME = 'BASE'
     
    class Sub(Base):
        NAME = 'SUB'
     
        def print(self):
            print(self.NAME)
            print(super(Sub, Sub).NAME)
            print(Base.NAME)

    最后两行在单继承环境下没有区别,但是在多级继承时存在区别。

    以上就是python中super获取类变量的方法,希望能对大家有所帮助。更多Python学习指路:python基础教程

    专题推荐:python super
    品易云
    上一篇:python带参数__init__的使用 下一篇:python多继承的查找顺序是什么?

    相关文章推荐

    • python中gRPC是什么?• python Protobuf定义消息类型• python中Protobuf创建服务端代码• python中self的原理探究• python析构器是什么意思?• python装饰器转换方法的注意点• python继承的基类属性分析• python带参数__init__的使用

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网