[英]python positional arguments
我試圖了解如何解釋此function
的參數:
def f(a, *, b):
return a, b
看來這個function
強制調用者用恰好2個參數調用f()
,第二個參數應該總是命名為b=
param。 如何從function
簽名中解讀這個? 為什么不允許我為*
指定中間參數?
如何從功能簽名中解讀這個?
*
之后的參數必須通過關鍵字傳遞,如果它們完全傳遞的話。 *
否則不能傳遞額外參數來“填充” *
。 由於b
沒有默認值,因此必須傳遞。 因為它在*
之后必須通過關鍵字傳遞。 由於*
是“裸”(即,它只是*
占位符而不是像*args
這樣的變量),因此沒有其他位置參數可以作為“中間”參數傳遞。
有關僅限關鍵字參數語法的說明,請參閱PEP 3102 。
*
only是一種僅用於Python3的方式來表示以下參數是命名參數,並且只能傳遞給函數。
“
*
”或“*identifier
”之后的參數是僅關鍵字參數,並且只能傳遞使用的關鍵字參數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.