概念
super作為python的內建函式。主要作用如下:
例項在單個繼承的場景下,一般使用super來呼叫基類來實現:
下面是乙個例子:
class mammal(object):
def __wugbzinit__(self, mammalname):
print(mammalname, 'is a warm-blooded animal.')
class dog(mammal):
def __init__(self):
print('dog has four legs.')
super().__init__('dog')
d1 = dog()
輸出結果:
➜ super git:(master) ✗ py super_script.py
dog has four legs.
dog is a warm-blooded animal.
super在多重繼承裡面的使用:
下面是乙個例子:
class animal:
def __init__(self, animalname):
print(animalname, 'is an animal.');
class mammal(animal):
def __init__(self, mammalname):
print(mammalname, 'is a warm-blooded animal.')
super().__init__(mammalname)
class nonwingedmammal(mammal):
def __init__(self, nonwingedmammalname):
print(nonwingedmammalname, "can't fly.")
super().__init__(nonwingedmammalname)
class nonmarinemammal(mamma程式設計客棧l):
def __init__(self, nonmarinemammalname):
print(nonmarinemammalname, "can't swim.")
super().__init__(nonmarinemammalname)
class dog(nonmarinemammal, nonwingedmammal):
def __init__(self):
print('dog has 4 legs.');
super().__init__('dog')
d = dog()
print('')
bat = nonmarinemammal('bat')
輸出結果:
➜ super git:(master) ✗ py super_muli.py
dog has 4 legs.
dog c't swim.
do程式設計客棧g can't fly.
dog is a warm-blooded animal.
dog is an animal.
bat can't swim.
bat is a warm-blooded animal.
bat is an animal.
參考文件
本文標題: python super用法及原理詳解
本文位址:
Python super 函式用法總結
了解 super 函式之前,我們首先要知道 super 的用途是啥?語法格式 super type object or type 函式描述 返回乙個 物件,它會將方法呼叫委託給 type 的父類或兄弟類。引數說明 type 類,可選引數。object or type 物件或類,一般是 self,可選...
Python super關鍵字用法
使用super關鍵字,會按照繼承順序執行相應類中的方法,在沒有多繼承的情況下,一般是執行父類 coding utf 8 usr bin python class counter object def init self super counter,self setattr counter 0 def...
python super 用法之 類內類外使用
當子類和父類有相同的方法的時候,子類缺省會呼叫自己的方法而不能使用父類的方法。如果想使用父類的方法,我們就可以使用super 方法來呼叫父類的方法 1.super 類名,物件名 方法 既可以在類的內部也可以在類的外部使用。2.父類類名.方法名 self animal.eat self 既可以在內部也...