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相關知識,請關注IT培訓機構:千鋒教育。