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
相關文章
- python中實現函式過載Python函式
- PHP中實現函式過載PHP函式
- 在 Python 中實現函式過載Python函式
- 如何在Python中實現函式過載Python函式
- js實現函式過載JS函式
- 美麗的閉包,在js中實現函式過載JS函式
- 使用條件型別實現TypeScript中的函式過載型別TypeScript函式
- 為什麼 Python 沒有函式過載?如何用裝飾器實現函式過載?Python函式
- python3程式碼中函式切割列表怎麼實現?Python函式
- Python3中的函式 大全Python函式
- JavaScript中的函式過載(Function overloading)JavaScript函式Function
- 118 C++中函式的過載C++函式
- 過載的奧義之函式過載函式
- TypeScript 函式過載TypeScript函式
- 函式模板過載函式
- python3 筆記15.通過range()函式來了解函式的作用Python筆記函式
- Lua中呼叫ref和out修飾引數的函式/過載函式函式
- C++ 函式過載,函式模板和函式模板過載,選擇哪一個?C++函式
- 學會TypeScript中函式過載寫法TypeScript函式
- 如何實現JS中的過載JS
- Python 函式如何過載?Python函式
- 02-函式過載函式
- C++函式過載C++函式
- 案例展示自定義C函式的實現過程函式
- C++ 過載運算子和過載函式C++函式
- C++之函式過載C++函式
- JavaScript的迭代函式與迭代函式的實現JavaScript函式
- js中實現單分派泛函式JS函式
- 關於python建構函式的過載Python函式
- C++ 函式過載和模板C++函式
- 過載運算子、解構函式函式
- python函式過載是什麼?Python函式
- 去抖函式的實現函式
- bind 函式的實現原理函式
- async 函式的實現原理函式
- Python3 range() 函式用法Python函式
- TypeScript中函式過載寫法,你在第幾層!TypeScript函式
- 3.3.2 函式的預設引數和佔位引數 函式過載函式
- C++ 獲取指定的過載函式地址C++函式