[英]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.