鸭子类型(Duck Typing)是一种动态类型语言中的概念,它基于对象的行为(方法和属性)而不是其实际类型进行判断。这个概念源自詹姆斯·惠特科姆·赖利的谚语:
“如果它走起来像鸭子,叫起来像鸭子,那么它就是鸭子。”
在编程中,鸭子类型意味着你不需要显式地检查对象的类型是否满足某个接口或基类,而只需要检查它是否具有所需的方法或属性。这种类型系统的灵活性允许你编写更通用和可重用的代码。
鸭子类型示例
以下是一个简单的例子,展示了如何在 Python 中使用鸭子类型:
class Duck:
def quack(self):
print("Quack")
def