首頁 >後端開發 >Python教學 >關於Python的鴨子類型詳解

關於Python的鴨子類型詳解

零下一度
零下一度原創
2017-06-14 10:33:422116瀏覽

在程式設計中,鴨子類型(英文:duck typing)是動態類型的風格。在這種風格中,一個物件有效的語義,不是由繼承自特定的類別或實作特定的接口,而是由當前方法和屬性的集合決定。這個概念的名字來自於James Whitcomb Riley提出的鴨子測試,「鴨子測試」可以這樣表述:「當看到一隻鳥走過來像鴨子、游泳起來像鴨子、叫起來也像鴨子,那麼這隻鳥就可以被稱為鴨子。例如,在不使用鴨子類型的語言中,我們可以寫一個函數,它接受一個類型為鴨的對象,並呼叫它的走和叫方法。在使用鴨子類型的語言中,這樣的一個函數可以接受一個任意類型的對象,並呼叫它的走和叫方法。如果這些需要被呼叫的方法不存在,那麼將會引發一個運行時錯誤。任何擁有這樣的正確的走和叫方法的對像都可被函數接受的這種行為引出了以上表述,這種決定類型的方式因此得名。鴨子類型通常得

1. 詳細解釋duck typing鴨子類型程式設計與Python的實作

關於Python的鴨子類型詳解

##簡介:這篇文章主要介紹了詳解duck typing鴨子類型程式設計與Python的實現範例,鴨子類型特指解釋型語言中的一種程式風格,需要的朋友可以參考下方

2. 詳細介紹Python的鴨子類型

關於Python的鴨子類型詳解

##簡介:相信python的開發者對於python的鴨子類型比較熟悉,鴨子類型在維基百科中的準確定義是'是動態類型的一種風格。在這種風格中,一個物件有效的語義,不是由繼承自特定的類別或實現特定的接口,而是由"當前方法和屬性的集合"決定’。所以這篇文章給大家python的鴨子類型。

3.

一個 Pythonic 的類別應不應該在 __init__ 中檢查參數有效性?

簡介:我知道按照鴨子類型原則,是不應該檢查參數類型的。但是應該檢查參數在其他方面的有效性嗎?例如:class Comment(object):... def __init__(self, content, creater, ipaddress):... ... self.content = content... ... self.creater = creater... .. . self.ipaddre

以上是關於Python的鴨子類型詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn