python中的鸭子类型

发布时间 2023-10-31 16:11:38作者: 你说夕阳很美

python中的鸭子类型_python 鸭子类型-CSDN博客

浅谈Python鸭子类型-腾讯云开发者社区-腾讯云 (tencent.com)

  1. python不支持多态也用不到多态,多态的概念是应用于java和C#这一类强类型语言中,而Python崇尚鸭子类型(Duck Typing)
  2. 鸭子类型:是一种动态类型的风格。一个对象有效的语义,不是由继承自特定的类或实现特定的接口,而是由当前方法和属性的集合决定。这个概念的名字来源于由James Whitcomb Riley提出的鸭子测试,“鸭子测试”可以这样表述:
  3. “当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被称为鸭子。”
  4. 在鸭子类型中,关注的不是对象类型本身,而是它是如何使用的。我们可以编写一个函数,它接受一个类型为鸭的对象,并调用它的走和叫方法。在使用鸭子类型的语言中,这样的一个函数可以接受一个任意类型的对象,并调用它的走和叫方法。如果这些需要被调用的方法不存在,那么将引发一个运行时错误。
  5. 综上,输入的对象拥有走和叫方法,就符合鸭子类型。