当前位置: 代码迷 >> 综合 >> singledispatch实现不同类型的拼接(list,str,tuple,dict)
  详细解决方案

singledispatch实现不同类型的拼接(list,str,tuple,dict)

热度:49   发布时间:2023-10-24 17:45:16.0
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")
  相关解决方案