首页 > 编程语言 >python中的鸭子类型

python中的鸭子类型

时间:2023-10-31 16:00:12浏览次数:38  
标签:调用 python 多态 对象 鸭子 类型

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

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

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

标签:调用,python,多态,对象,鸭子,类型
From: https://www.cnblogs.com/daizichuan/p/17800480.html

相关文章

  • Python添加参数的几种方法
    用python添加参数都是用的input函数,不能添加默认值也不能输入help提示。最近发现了2个更好用的库分享给大家。一、使用input库。这个使用很简单,就不过多描述了。deftest(a,b):print(f"{a}+{b}="+str(int(a)+int(b)))if__name__=='__main__':a=input("inputa:......
  • 【Python微信机器人】第三篇:使用ctypes调用进程函数和读取内存结构体
    目录修整目前的系列目录(后面会根据实际情况变动):在windows11上编译python将python注入到其他进程并运行注入Python并使用ctypes主动调用进程内的函数和读取内存结构体使用汇编引擎调用进程内的任意函数利用beaengine反汇编引擎的c接口写一个pyd库,用于实现inlinehook利用......
  • 单细胞测序 rare cell 罕见的细胞类型
    单细胞测序 rarecell------------------------------------------罕见的细胞类型来说,鉴定出它们特定的标记基因目前仍存在很大挑战。而发现一些罕见的细胞类型,如干细胞,短暂存在的前体细胞,癌症干细胞或循环肿瘤细胞,对于深入理解正常和疾病状态下的组织生物学具有非常重要的意义。......
  • selenium+python,自动获取cookie登录
     一、通过cookie一直保持自动登录状态1.手动操作原理:保持自动登录状态1.通过cookie信息的唯一标识ID2.登录后一直保持不退出状态,就可以实现自动登录  登录后,session唯一标识:如果当前是登录状态,那就是登录。如果不是登录状态,就不是登录的。如何查看是否登录状态?浏览器......
  • 初学C时的变量存储类型总结
    从初学时的C语言,到后面的Java,C++,Python等各种高级程序设计语言,汇编语言等低层语言,变量存储类型都是语言学习很重要的基础。本次以C语言为例,如下图。首先,有多种分类:局部变量和外部变量;动态存储变量和静态存储变量……如典型的static变量有局外部之分,但一定是静态变量。我们常用......
  • python pandas.DataFrame.plot( )画图
     pythonpandas.DataFrame.plot()画图DataFrame.plot(x=None,y=None,kind='line',ax=None,subplots=False,sharex=None,sharey=False,layout=None,figsize=None,use_index=True,title=None,grid=None,legend=True,......
  • 三维重建 PyQt Python MPR 四视图(横断面,冠状面,矢状面,3D)
    本文实现了PythonMPR的四视图,横断面,冠状面,矢状面,3DMPR(multi-plannerreformation)也称多平面重建,多重面重建是将扫描范围内所有的轴位图像叠加起来再对某些标线标定的重组线所指定的组织进行冠状、矢状位、任意角度斜位图像重组。主要功能:1:实现了所有切面与其他视图光标应该......
  • Python中常用的函数
    1.sorted()函数Python的内置函数sorted()是一种简单而强大的排序工具。它返回一个新的已排序列表,而不会改变原始列表。默认情况下,它按升序排序。2. python数组的基本结构#增加appendA=[1,2,3,4]A.append(5)#在数组末尾追加元素print(A)#删除removepop......
  • Python中的切片操作
    一、切片操作的基本概念1.1切片是什么?切片是Python中一种用于操作序列类型(如列表、字符串和元组)的方法。它通过指定起始索引和结束索引来截取出序列的一部分,形成一个新的序列。1.2切片的语法切片的基本语法为:sequence[start:end:step]其中,sequence表示待切片的序列,start表......
  • torch使用bool类型做检索
    一、背景在使用torch的时候,可以通过bool类型对数组进行检索操作。传统的list或者dict都是使用下标和关键字检索。而在torch中可以使用bool类型进行检索,它的的目标主要是以下功能:替换torch中的某个值二、使用torch在bool检索的情况下就是将为检索位置为True的地方用另一个数......