Advertisement

Python学习笔记:鸭子类型( duck typing )

阅读量:

前言

在实习过程中,因工作需求首次接触到了Python语言。由于学习与使用时间极为有限,当时认为作为解释型语言,在Web开发方面,Python与PHP的差异并不明显,甚至在某些具体应用场景中,PHP显得更为直接简便。随后,在导师的建议下,通过阅读《流畅的Python》一书,再次系统性地学习了这门语言。此次学习主要围绕数据结构、函数、面向对象编程以及控制流程等核心内容展开,对其中具有重要地位的函数概念和面向对象实现方式留下了深刻印象,并逐渐领悟到该语言所特有的吸引力。

书中针对Python面向对象机制的阐述中,提到了一个极具启发性的概念:鸭子类型(duck typing) 。本文将围绕这一概念展开讨论,并结合个人过往对Java的学习经历,对比分析这两种风格迥异的语言特性。同时,在借鉴Java面向对象思想的基础上,进一步探讨鸭子类型所体现的两种核心理念:多态与范型

鸭子类型概念解析

在维基百科中对这一概念的描述如下:

鸭子类型(英文:duck typing)属于动态类型的一种表现形式。在此类表现形式中,对象所具备的语义特征并非依赖于其是否继承自某一特定类或实现某类接口,而是依据其当前所拥有的方法与属性集合来判定。

而“鸭子类型”这一术语的来源则可以追溯到James Whitcomb Riley在其提出的“鸭子测

全部评论 (0)

还没有任何评论哟~