发布时间:2022-05-14 分类:Python 知识 字号: 默认 - - 超大 打印

python中super获取类变量

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

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

classBase:
NAME='BASE'


classSub(Base):
NAME='SUB'

defprint(self):
print(self.NAME)
print(super(Sub,Sub).NAME)

>>>Sub().print()
SUB
BASE

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

还有一种情况:

classBase:
NAME='BASE'

classSub(Base):
NAME='SUB'

defprint(self):
print(self.NAME)
print(super(Sub,Sub).NAME)
print(Base.NAME)

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