python方法重载怎么重载,python重载是什么意思
在一些静态语言中,有一个重载的概念。这是OOP(面向对象编程)中的一个基本行为。
重载意味着具有相同函数名的多个函数根据传入参数的数量和类型执行不同的函数。所以函数重载本质上是为了解决编程中参数可变和不一致的问题。
python 中的重载
在python中,有重载的思想,但没有重载的概念。所以有人说python不支持函数重载,也有人说python有重载函数。其实python编程有重载的目的,但是没有重载行为,或者说python不需要重载!
Python是一种动态语言,不需要声明变量类型。函数中可以接受任何类型的参数,所以不可能根据参数类型支持重载。python不需要考虑参数的类型,可以在函数内部进行判断和处理,所以不需要写函数。Python有很多方法传递参数,默认参数/变量参数/变量关键字参数可以处理函数参数中的变量参数。
相关:《Python教程》
python3.4中增加的重载机制
python3.4中提供了一种转发机制来实现重载:
fromfunctoolsimportsingledispatch
@singledispatch
deffunction(obj):
打印( %r%(obj))
@function.register(int)
deffunction_int(obj):
print(Integer:%d%(obj))
@function.register(字符串)
deffunction_int(obj):
print(String:%s%(obj))
@function.register(列表)
deffunction_list(obj):
print(List:%r%(obj))
if__name__==__main__:
功能(1)
功能(“你好”)
函数(范围(3))
功能(对象)
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。