python函数重载吗

python中是不支持函数重载的,但在python3中提供了这么一个装饰器functools.singledispatch,它叫做单分派泛函数,可以通过它来完成python中函数的重载,让同一个函数支持不同的函数类型,它提供的目的也正是为了解决函数重载的问题。

看下面的例子,应该知道怎么去使用它完成函数的重载。

fromfunctoolsimportsingledispatch

@singledispatch

defshow(obj):

print(obj,type(obj),"obj")

@show.register(str)

def_(text):

print(text,type(text),"str")

@show.register(int)

def_(n):

print(n,type(n),"int")

show(1)

show("xx")

show([1])

结果为:

1int

xxstr

[1]obj

以上内容为大家介绍了python培训之函数重载吗,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注我们

推荐阅读