Skip to content

[已解決] SyntaxError: non-default argument follows default argument

今天,當我正寫好了一個深度學習的分類模型的程式碼、正準備要開始訓練時,我的程式發生了一個相當少見的錯誤訊息 (這兩年來我覺得我幾乎看過了大部分的 Python 錯誤訊息 …)。

SyntaxError: non-default argument follows default argument

其實這個錯誤訊息非常單純,就如同訊息中所提示的:我將『沒有預設值』的參數放在『有預設值』的參數後方 —— 這在 Python 語法當中是不合理的。

這種格式我隱隱約約有印象,似乎是當年初學 Python 時翻 Document 時看過,不過時間一久,而且又沒再遇到,便漸漸淡忘了,要怪只能怪自己記憶不好,基本功不佳。


解決方法

解決方法也正如報錯的字面意義上所顯示,我放參數的順序錯了,只要將其顛倒過來,也就可以正常運行了。

我將有預設值的參數放在沒有預設值得參數前


將其更正之後:

更正之後

這樣一來,我的程式就可以正常執行了。


References

Tags:

Leave a Reply