python的鴨子型別

2021-09-13 19:32:27 字數 596 閱讀 1998

這次簡單介紹下 鴨子型別的概念。

當看到乙隻鳥走起來像鴨子、游泳起來像鴨子、叫起來也像鴨子,那麼這只鳥就可以被稱為鴨子。
鴨子型別關注點在物件的行為,而不是型別。在 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可以是...