簡體   English   中英

我該如何解決 SyntaxError:位置參數跟隨關鍵字參數

[英]How can I slove SyntaxError: positional argument follows keyword argument

我正在嘗試在這里運行此代碼:

threads = [threading.Thread(name='ThreadNumber{}'.format(n),target=SB, args(shoe_type,model,variant)) for size in SizeList for n in range(ThreadCount)]

然而,這是我的終端返回的內容:

   threads = [threading.Thread(name='ThreadNumber{}'.format(n),target=SB, args(s
hoe_type,model,variant)) for size in SizeList for n in range(ThreadCount)]
                                                                           ^

SyntaxError: positional argument follows keyword argument

無論如何我可以解決這個問題嗎?

SB 指的是我正在嘗試運行的 function。

在 Python 中,我們將 arguments 傳遞(和接收)到 function 的順序很重要。

位置arguments 首先出現,可變長度arguments 次之,可變長度關鍵字 arguments最后。

預期的語法如下所示:

function(arg, *args, **kwargs)

上面的參數名稱只是常規示例,因此真實世界的 function 將如下所示:

about_user(name, *hobbies, **favorite_foods)

如果我們使用無序的參數類型調用(或接收),我們會得到與您遇到的類似的錯誤。 在您的具體情況下,您的關鍵字 arguments 是第一個,而它們應該是最后一個。

我寫了一篇關於*args**kwargs的小文章,其中包含更多相關的細節和示例。

暫無
暫無

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

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