super的使用

python3中使用super().__init__() #等同于super(C,self).__init__()  调用父类的初始化方法

class A(object):
  def __init__(self):
    print('i am class A')

class C(A):
  def __init__(self,):
    super().__init__() #等同于super(C,self).__init__()
    print('yes')

c = C()
print(c.__class__)
print(C.__bases__)


i am class A
yes
<class '__main__.C'>
(<class '__main__.A'>,)

 

class A(object):
  def __init__(self,name,age,hobby):
    self.name = name
    self.age = age
    self.hobby = hobby
    print('i am class A')

class C(A):
  def __init__(self,name,age,hobby):
    super().__init__(name,age,hobby) #等同于super(C,self).__init__()
    print('yes')

c = C("egon",18,"吃饭")
print(c.name)
print(c.__class__)
print(C.__bases__)

调用父类的方法:

class A(object):
  def __init__(self,name,age,hobby):
    self.name = name
    self.age = age
    self.hobby = hobby
    print('i am class A')
  def eat(self):
    print("吃苹果")

class C(A):
  def __init__(self,name,age,hobby):
    super().__init__(name,age,hobby) #等同于super(C,self).__init__()
    print('yes')
  def eat(self):
    print("吃梨")

c = C("egon",18,"吃饭")
c.eat()
A.eat(c)#调用父类的方法
print(c.__class__)
print(C.__bases__)

 super(student,self).age()  #调用父类的方法

I can feel you forgetting me。。 有一种默契叫做我不理你,你就不理我

原文地址:https://www.cnblogs.com/weidaijie/p/11718839.html