Python&Django:**是什么意思

伊曼纽尔·姆塔利(Emmanuel Mtali)

我可能知道**的以下用途

力量

x ** y # x power y equivalent to pow(x,y)

传递不定数量的args

def sample(x, **other):
    print(x, other.keys)
sample(x=2,y=3,z=4) 

但是我不明白何时将其用作以下内容(在Serializers中

def create(self, validated_data):
    return Comment(**validated_data)

有人可以告诉我那里发生了什么吗

blue_note

这与您的第二个示例相反。在函数定义中,**运算符将收集所有命名的参数并创建一个字典。调用函数时,它需要一个字典并将其分解为命名参数

所以,如果你有

values = {'x': 1, 'y': 2}
f(**values)

它等于

f(x=1, y=2)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章