overloader:在Python中实现重载

编辑:光环大数据 来源: 互联网 时间: 2017-10-26 18:07 阅读:

  overloader:在Python中实现重载,Python中实现重载,一般都需要对参数进行识别和转化。这样做不是很直观,需要添加一些琐碎的逻辑。所以boramalper实现了overloader这个库,来帮助Python增加重载的特性。

使用了overloader的代码看起来像这样,和c++/java中的重载特性非常的相似。

importtyping

fromoverloaderimportoverload

@overload

defsimple_func(a,b):

return"Firstsimple_func"

@overloa

ddefsimple_func(a,b,c,d=32,*,ka,dka="default"):

return"Secondsimple_func"

print(simple_func(3,14))

print(simple_func(3,14,15,ka="pi"))

@overload

deftyped_func(a:typing.Union[int,float],d:typing.Dict[int,int]):

return"Firsttyped_func"

@overload

deftyped_func(a:int,b:typing.Dict[int,str]):

return"Secondtyped_func"

print(typed_func(2,{71:82}))

print(typed_func(2,{71:"astring"}))

"""

Worksfornormalmethodsandstaticmethodsaswell.

"""

classC:

@classmethod@overloaddefclass_method(cls,a:str,b:int):

return"Firstclass_method"@classmethod@overloaddefclass_method(cls,a:str,b:float):

return"Secondclass_method"

c=C()

print(c.class_method("pi",3))

print(c.class_method("e",2.7182))

如果你对这个库感兴趣,可以安装并尝试它:

pip3installoverloader

 

  Python培训Python学习,就选光环大数据Python培训机构


大数据培训、人工智能培训、Python培训、大数据培训机构、大数据培训班、数据分析培训、大数据可视化培训,就选光环大数据!光环大数据,聘请专业的大数据领域知名讲师,确保教学的整体质量与教学水准。讲师团及时掌握时代潮流技术,将前沿技能融入教学中,确保学生所学知识顺应时代所需。通过深入浅出、通俗易懂的教学方式,指导学生更快的掌握技能知识,成就上万个高薪就业学子。 更多问题咨询,欢迎点击------>>>>在线客服

你可能也喜欢这些

在线客服咨询

领取资料

X
立即免费领取

请准确填写您的信息

点击领取
#第三方统计代码(模版变量) '); })();
'); })();