這次簡單介紹下 鴨子型別的概念。
當看到乙隻鳥走起來像鴨子、游泳起來像鴨子、叫起來也像鴨子,那麼這只鳥就可以被稱為鴨子。鴨子型別關注點在物件的行為,而不是型別。在 python 和 go 中都可以實現鴨子型別。
示例**如下:
class duck:
def __init__(self, name):
self.name = name
def quack(self):
print("gua gua")
class man:
def __init__(self, name):
self.name = name
def quack(self):
print("女王大人")
def do_quack(ducker):
ducker.quack()
if __name__ == '__main__':
d = duck('duck')
m = man('man')
do_quack(d)
do_quack(m)
Python多型 鴨子型別
多型指的是一類事物有多種形態。動物有多種形態 人,狗,豬 import abcclass animal metaclass abc.abcmeta 同一類事物 動物 abc.abstractmethod deftalk self pass class people animal 動物的形態之一 人 ...
python中的鴨子型別
什麼是多型 多型,按字面的意思就是 多種狀態 在物件導向語言中,介面的多種不同的實現方式即為多型。多型的目的 就是指不同的物件的,同狀態下的,做出的不同表現形式 python中的鴨子型別 python中沒有多型,但是可以用鴨子型別實現多型。鴨子型別主要原因 python中引數是無型別的 init 是...
Python列表和鴨子型別
列表可以說是python最重要的資料結構,因為python具有正交性,所以我們可以從list中的特性推測出其他資料結構的基本的特性。python具備了鴨子特性和,讓其語言具有極強的表達性。1 list 函式 list obj 可以把一切序列轉換為list。同時我們可以推測只要是序列,所以obj可以是...