我可能知道**的以下用途
力量
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)
有人可以告诉我那里发生了什么吗
这与您的第二个示例相反。在函数定义中,**
运算符将收集所有命名的参数并创建一个字典。调用函数时,它需要一个字典并将其分解为命名参数
所以,如果你有
values = {'x': 1, 'y': 2}
f(**values)
它等于
f(x=1, y=2)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句