当前位置: 首页 > news >正文

iis添加网站 别名wordpress 多站点 主题

iis添加网站 别名,wordpress 多站点 主题,在网上做试卷的网站,兰州新区建设银行网站DAY 11. python 重载 函数重载是指允许定义参数数量或类型不同的同名函数#xff0c;程序在运行时会根据所传递的参数类型选择应该调用的函数 #xff0c;但在默认情况下#xff0c;python是不支持函数重载的#xff0c;定义同名函数会发生覆盖 def foo(a:int):print(fin…DAY 11. python 重载 函数重载是指允许定义参数数量或类型不同的同名函数程序在运行时会根据所传递的参数类型选择应该调用的函数 但在默认情况下python是不支持函数重载的定义同名函数会发生覆盖 def foo(a:int):print(fint {a})def foo(b:list):print(flist{b})foo(3) foo([i for i in range(3)])# list3 # list[0, 1, 2]至于不支持的原因我想大概是没必要首先只在两种情况下可能发生函数重载一是参数类型不同二是参数个数不同对于第一种情况鸭子类型的存在使得函数不在乎参数类型而只关心参数的行为所以你可以传递任何类型的参数对于第二种情况缺省参数的使用使得可以传递任意多个参数因此函数的重载在python中就显得很鸡肋了但如果非要实现函数重载可以使用3.4中增加的转发机制即单分派泛型函数single-dispatch generic function来实现重载 11.2 单分派泛型函数 泛型函数 generic function 由多个函数组成的函数可以根据不同的参数类型决定调用那个函数单分派single-dispatch一种泛型函数分派形式其中实现是根据单个参数的类型选择的。 所以单分派泛型函数就是根据函数的第一个参数类型决定使用哪个函数的泛型函数 将一个函数声明为泛型函数可以使用修饰器singledispatch,需要从functools模块导入singledispatch有两个常用方法register和dispatch from functools import singledispatchsingledispatch def Foo(arg,*args):print(arg)这样就实现了一个泛型函数他的分派发生在第一个参数类型上如果想要基于此实现重载需要使用他的register方法 from functools import singledispatchsingledispatch def Foo(arg,*args):print(arg)# 使用了类型注释 Foo.register def _1(arg:int,*args):print(fint - {arg})# 没有使用类型注释显式传递给修饰器 Foo.register(list) def _2(arg,*args):print(flist - {arg})if __name__ __main__:Foo(3) # int - 3Foo([i for i in range(10)]) # list - [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]对于使用了类型注释的变量singledispatch会自动推断第一个参数的类型如上面int的那个对于没有使用类型注释的变量可以显式传递类型给singledispatch如下面list的那个 register属性还可以以函数的形式调用这可以用在lambdas表达式上如 def nothing(arg, verboseFalse): ... print(Nothing.) ...fun.register(type(None), nothing)如果没有实现针对特定类型的注册那么就会使用被singledispatch修饰的函数 Foo(string) # string要检查泛型函数将为给定类型选择哪个实现请使用dispatch()属性 print(Foo.dispatch(int)) # function _1 at 0x000001D7C2724B70 print(Foo.dispatch(list)) # function _2 at 0x000001D7C2792E18 print(Foo.dispatch(str)) # function Foo at 0x000001FB456FC268要访问所有已注册的实现请使用只读的registry属性 11.3 总结 python默认不支持重载但可以使用单分派泛型函数实现声明泛型函数需要使用修饰器singledispatch它有三个属性register用来注册针对特定类型的“重载函数”,这里必须指明针对的是哪一个特定的类型可以给第一个参数类型注释也可以给register传入一个显式类型否则会抛出TypeError异常;dispatch属性用来查看特定的类型将要选择的函数;registry用来访问所有已注册的实现。 参考链接 functools.singledispatch single dispatch generic function python中的重载 为什么 Python 不支持函数重载其他函数大部分都支持的
http://www.zqtcl.cn/news/491794/

相关文章:

  • 南城区网站建设公司y2学年做的租房网站
  • 温州网站建设咨询网站源码下载后怎么布置
  • 邢台网站推广wordpress文章数据库位置
  • wordpress 快站wordpress 安装主题 主机名
  • 老网站改版启用二级域名网站建设服务是什么意思
  • 网站建设营销话术外销网站
  • 找个人给我做电影网站好主题网站开发介绍
  • 运城公司网站建设苏州网站建设苏州
  • 湖北省住房和建设厅网站首页网站用免费空间好不好
  • 网站建设公司案例做网站小图标大全
  • 美食网站主页怎么做网络营销推广的作用
  • 上海建站价格wordpress表白系统
  • 唐山 建设工程信息网站中天钢铁 网站建设
  • 公司没有备案了网站摄影素材网站
  • 正规的网店平台有哪些北京公司排名seo
  • 网页制作素材库哪个网站上海门户网站开发
  • 做网站 分辨率应该是多少做阿里巴巴网站要多少钱
  • 有专业做外贸的网站吗千岛湖网站建设
  • 百度怎么做开锁网站中国咖啡网站建设方案
  • 新网站不被收录郑州网站建设培训学校
  • 网站群建设意见征集北京做网站报价
  • 网站建设开发费会计处理山东省住房和城乡建设厅二建查询
  • 市工商局网站建设情况襄阳网站seo诊断
  • 动漫做那个视频网站单网页网站如何做
  • 企业网站名是什么意思广州公共交易中心
  • 做网站那家好沈阳做网站公司哪家好
  • 现在做一个网站大概多少钱中国住房城乡建设部网站
  • 高端企业网站建设核心秦皇岛网站制作人才招聘
  • 网站制作花多少钱简历模板表格
  • 泰安专业网站开发公司网页设计师常逛网站