在Python腳本我稱之爲從rpy2
的功能,但我得到這個錯誤:的Python:語法錯誤:關鍵字不能表達
#using an R module
res = DirichletReg.ddirichlet(np.asarray(my_values),alphas,
log=False, sum.up=False)
SyntaxError: keyword can't be an expression
究竟錯在哪裏嗎?
在Python腳本我稱之爲從rpy2
的功能,但我得到這個錯誤:的Python:語法錯誤:關鍵字不能表達
#using an R module
res = DirichletReg.ddirichlet(np.asarray(my_values),alphas,
log=False, sum.up=False)
SyntaxError: keyword can't be an expression
究竟錯在哪裏嗎?
sum.up
不是有效的關鍵字參數名稱。關鍵字參數必須是有效的標識。你應該看看你正在使用的庫的文檔如何調用這個參數真的 - 也許sum_up
?
是的,就是這樣。我在處理R函數時忘記了所有的點都需要轉換成下劃線。所以'sum_up'完成了這個訣竅。 :) – 2012-07-24 14:52:49
剛剛有相同的語法錯誤,因爲我使用的參數名稱爲「my-argument-name」。您的回答幫助我發現將其重命名爲「my_argument_name」可以解決錯誤。 – Flaudre 2015-06-25 02:45:36
這是Python的源解析器故障sum.up=False
命名參數爲sum.up是無效參數名稱(您不能在參數名稱中使用點 - 僅字母數字和下劃線)。
剛從%
格式轉換爲.format()
時,我剛剛得到這個問題。
上一頁代碼:
"SET !TIMEOUT_STEP %{USER_TIMEOUT_STEP}d" % {'USER_TIMEOUT_STEP' = 3}
有問題的語法:
"SET !TIMEOUT_STEP {USER_TIMEOUT_STEP}".format('USER_TIMEOUT_STEP' = 3)
的問題是,format
是需要參數的函數。他們不能是字符串。 這是我見過的最糟糕的python錯誤消息之一。
更正代碼:
"SET !TIMEOUT_STEP {USER_TIMEOUT_STEP}".format(USER_TIMEOUT_STEP = 3)
不知道你是否回答了OP的問題,但是你回答了我關於格式函數需要參數而不是字符串的問題。 – chishaku 2015-01-20 15:56:07
我想我們很多人誰來到這個頁面有問題Scikit學習,來解決它一個方法是創建一個帶參數的字典,並把它傳遞給型號:
params = {'C': 1e9, 'gamma': 1e-07}
cls = SVC(**params)
使用彈性搜索DSL API,你可能會碰到同樣的錯誤與
s = Search(using=client, index="my-index") \
.query("match", category.keyword="Musician")
您可以通過執行解決它:
s = Search(using=client, index="my-index") \
.query({"match": {"category.keyword":"Musician/Band"}})
關於你提到的更新:許多語法錯誤配備了插入符號'^'在引起解析錯誤令牌指向,他人(包括本)沒有。在任何情況下,請注意錯誤消息,並在必要時[google錯誤信息](http://www.google.com/search?q=Python+「關鍵字+不能+ + + +表達式」)。 。在這種情況下,第一次點擊應該已經清理了一些事情。 – 2012-07-24 15:02:14
@SvenMarnach:使用Google搜索錯誤消息可以立即獲得此頁面。 – Thanatos 2014-02-27 19:19:12