美文网首页
python 调用父类方法super()

python 调用父类方法super()

作者: SkTj | 来源:发表于2019-12-03 13:46 被阅读0次

为了调用父类(超类)的一个方法,可以使用 super() 函数,比如:

class A:
def spam(self):
print('A.spam')

class B(A):
def spam(self):
print('B.spam')
super().spam() # Call parent spam()
super() 函数的一个常见用法是在 init() 方法中确保父类被正确的初始化了:

class A:
def init(self):
self.x = 0

class B(A):
def init(self):
super().init()
self.y = 1
super() 的另外一个常见用法出现在覆盖Python特殊方法的代码中,比如:

class Proxy:
def init(self, obj):
self._obj = obj

# Delegate attribute lookup to internal obj
def __getattr__(self, name):
    return getattr(self._obj, name)

# Delegate attribute assignment
def __setattr__(self, name, value):
    if name.startswith('_'):
        super().__setattr__(name, value) # Call original __setattr__
    else:
        setattr(self._obj, name, value)

相关文章

  • python 面向对象: super()

    python 关于 super 的使用 子类对象调用父类方法 :super(B,b).hh() 子类中调用父类方法...

  • Python调用父类中的方法和super()的用途

    直接调用父类的super方法 调用父类的init()方法,确保父类被正确初始化 当覆盖了python中的特殊方法时

  • JavaScript零散知识点

    继承 super 在子类中调用super,会调用父类的方法; 不用super,则会覆盖父类的方法。调用本类中的方法。

  • java this super关键字

    super 1、调用父类的成员变量super.name2、直接调用父类无参构造方法super,可省略3、调用父类有...

  • python的多重继承

    python的多重继承最好建议使用super的方法调用父类,如果使用父类的类名去调用,就会造成重复调用父类的情况比...

  • super关键字

    super的作用: 直接调用父类中的某个方法 super处在对象方法中,那么就会调用父类的对象方法,super处在...

  • super和self关键字的区别

    super在类方法中, 一定会调用父类的类方法super在对象方法中, 一定会调用父类的对象方法可以利用super...

  • iOS Self和Super

    self调用自己方法,super调用父类方法self是类,super是预编译指令 super,class,supe...

  • java面向对象

    方法重载 方法重写 继承父类( 关键字: super、extends) super 关键字1.用super调用父类...

  • self和super的区别

    self和super的区别 self调用自己方法,super调用父类方法 self是类,super是预编译指令 [...

网友评论

      本文标题:python 调用父类方法super()

      本文链接:https://www.haomeiwen.com/subject/wmnfpctx.html