簡體   English   中英

Python雙星號,不是** kwargs,而是在函數調用本身上使用

[英]Python double asterisk that is not **kwargs but rather gets used on the function call itself

在這里看:

https://youtu.be/F5mRW0jo-U4?t=9267

他繼續寫電話:

Product.objects.create(**my_form.cleaned_data)

有人可以解釋一下

Product.objects.create(my_form.cleaned_data)

Product.objects.create(** my_form.cleaned_data)

假設my_form.cleaned_data是dict或其他某種映射,則create(**my_form.cleaned_data)將所有dict的條目作為關鍵字參數傳遞。 所以:

def my_fun(a=None, b=None):
    print(a)
    print(b)

my_dict = {'a':1, 'b':2}

my_fun(**my_dict)

將打印:

1
2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM