python3中實現函式的過載
python中是不支援函式過載的,但在python3中提供了這麼一個裝飾器functools.singledispatch,它叫做單分派泛函式,可以通過它來完成python中函式的過載,讓同一個函式支援不同的函式型別,它提供的目的也正是為了解決函式過載的問題。
看下面的例子,應該知道怎麼去使用它完成函式的過載。
from functools import singledispatch
@singledispatch
def show(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])
結果:
1 <class 'int'> int
xx <class 'str'> str
[1] <class 'list'> obj
相關文章
- PHP中實現函式過載PHP函式
- python中實現函式過載Python函式
- PHP中實現函式過載薦PHP函式
- 在 Python 中實現函式過載Python函式
- javascript函式過載的實現JavaScript函式
- js實現函式過載JS函式
- 如何在Python中實現函式過載Python函式
- javascript如何實現函式過載JavaScript函式
- 使用條件型別實現TypeScript中的函式過載型別TypeScript函式
- 美麗的閉包,在js中實現函式過載JS函式
- c語言中通過函式指標實現函式過載C語言函式指標
- javascript模擬實現函式過載JavaScript函式
- 為什麼 Python 沒有函式過載?如何用裝飾器實現函式過載?Python函式
- python3程式碼中函式切割列表怎麼實現?Python函式
- Python3中的函式 大全Python函式
- 過載的奧義之函式過載函式
- 實現C中的strcpy函式函式
- JavaScript中的函式過載(Function overloading)JavaScript函式Function
- 118 C++中函式的過載C++函式
- 函式過載與函式模板的區別函式
- TypeScript 函式過載TypeScript函式
- JavaScript函式過載JavaScript函式
- 如何實現JS中的過載JS
- C++的函式過載C++函式
- 學會TypeScript中函式過載寫法TypeScript函式
- C/C++—— C++中函式重寫和函式過載C++函式
- 實現c中memcpy函式memcpy函式
- C++的函式的過載C++函式
- C++ 函式過載,函式模板和函式模板過載,選擇哪一個?C++函式
- C++函式過載C++函式
- 02-函式過載函式
- python3 筆記15.通過range()函式來了解函式的作用Python筆記函式
- 在 JS 中實現 Laravel 的 ROUTE 函式JSLaravel函式
- js中trim函式的簡單實現JS函式
- java如何實現javascript中的eval函式JavaScript函式
- (函式)實現strstr函式函式
- C++ 過載運算子和過載函式C++函式
- 案例展示自定義C函式的實現過程函式