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)
最后两行在单继承环境下没有区别,但是在多级继承时存在区别。
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试