python中實現函式過載
python中實現函式過載
函式過載指對一個同名的函式,可以傳不同型別的引數,然後進行不同的操作。python預設不支援函式過載,因為下邊的同名函式會覆蓋上邊的函式,但是我們可以藉助functools中singledispatch實現python中的函式過載
示例:
from functools import singledispatch
class abs:
def type(self,args):
pass
class Person(abs):
@singledispatch
def type(self,args):
super().type("",args)
print("我可以接受%s型別的引數%s"%(type(args),args))
@type.register(str)
def _(text):
print("str",text)
@type.register(tuple)
def _(text):
print("tuple", text)
@type.register(list)
@type.register(dict)
def _(text):
print("list or dict", text)
Person.type("safly")
Person.type((1,2,3))
Person.type([1,2,3])
Person.type({"a":1})
Person.type(Person,True)
相關文章
- 在 Python 中實現函式過載Python函式
- 如何在Python中實現函式過載Python函式
- PHP中實現函式過載PHP函式
- js實現函式過載JS函式
- 為什麼 Python 沒有函式過載?如何用裝飾器實現函式過載?Python函式
- Python 函式如何過載?Python函式
- 使用條件型別實現TypeScript中的函式過載型別TypeScript函式
- 美麗的閉包,在js中實現函式過載JS函式
- python函式過載是什麼?Python函式
- 關於python建構函式的過載Python函式
- JavaScript中的函式過載(Function overloading)JavaScript函式Function
- 118 C++中函式的過載C++函式
- 函式模板過載函式
- TypeScript 函式過載TypeScript函式
- C++ 函式過載,函式模板和函式模板過載,選擇哪一個?C++函式
- 學會TypeScript中函式過載寫法TypeScript函式
- C++函式過載C++函式
- 02-函式過載函式
- 過載的奧義之函式過載函式
- C++ 過載運算子和過載函式C++函式
- python中id()函式、zip()函式、map()函式、lamda函式Python函式
- Lua中呼叫ref和out修飾引數的函式/過載函式函式
- 在CPython中實現純Python函式的真正並行性Python函式並行
- python3程式碼中函式切割列表怎麼實現?Python函式
- C++之函式過載C++函式
- Python - 函式實戰Python函式
- python函式每日一講 - filter函式過濾序列Python函式Filter
- js中實現單分派泛函式JS函式
- python(python中的super函式、)Python函式
- 如何實現JS中的過載JS
- Python hasattr() 函式 // python中hasattr()、getattr()、setattr()函式的使用Python函式
- 過載運算子、解構函式函式
- C++ 函式過載和模板C++函式
- Python-split()函式用法及簡單實現Python函式
- Python基礎之openpyxl如何實現vlookup函式Python函式
- TypeScript中函式過載寫法,你在第幾層!TypeScript函式
- python中的join()函式Python函式
- 案例展示自定義C函式的實現過程函式