python中super获取类变量

369次阅读
没有评论

python中super获取类变量

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免费测试

相关文章:

版权声明:wuyou2021-05-04发表,共计449字。
新手QQ群:570568346,欢迎进群讨论 Python51学习