# **dict(a=1,b=2)
# SyntaxError: invalid syntax
# a=dict(a=1,b=2)
# **a
# SyntaxError: invalid syntax
# a={'a':1,'b':2}
# **a
# SyntaxError: invalid syntax
打散是和字典连用的,但是直接打散是会报错的
打散是将字典{'a':1}打散成a=1的形式
聚合则相反
def foo(**kwargs):
print(kwargs)
foo(**{'a':1,'b':2})
结果是{'a':1,'b':2}
def foo(**kwargs):
print(kwargs)
foo(**{'a':1,'b':2})
结果是{'a':1}
这个是聚合
return cls(**res[0])
打散只有在使用关键字参数的函数或者类里才能使用
@classmethod
def select_one(cls,**kwargs):
if kwargs:
key=list(kwargs.keys())[0]
关键字参数传入后,聚合变成字典,取出字典中的所有keys转成列表形式,并取出第一个值