python中super获取类变量

美女程序员鼓励师

本文教程操作环境: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获取类变量 的全部内容, 来源链接: utcz.com/z/543589.html

回到顶部