from functools import singledispatch
@singledispatch
def add(type):
raise TypeError
def appendFunc(fun):
def validate(*type):
args1,args2=type[:2]
if type(args1) != type(args2):
print("类型不同不能拼接")
return fun(*type)
return validate
@add.register(str)
@appendFunc
def testStr(a,b):
return a+b
@add.register(list)
@appendFunc
def testList(a,b):
return a+b
@add.register(dict)
@appendFunc
def testDict(a,b):
return a.update(b)
@add.register(tuple)
@appendFunc
def testTuple(a,b):
return (*a,*b)
print([1],[2])
print((1,2),(3,4))
print({"a":1},{"b":2})
print("a","b")
singledispatch实现不同类型的拼接(list,str,tuple,dict)
最新推荐文章于 2022-10-02 11:37:41 发布