**kwargs和打散的区别与联系,(字典,items,keys,values,聚合打散)

# **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转成列表形式,并取出第一个值



阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页