首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python: SyntaxError:关键字不能是表达式

Python: SyntaxError:关键字不能是表达式
EN

Stack Overflow用户
提问于 2012-07-24 22:46:50
回答 3查看 192.3K关注 0票数 44

在Python脚本中,我从rpy2调用了一个函数,但得到以下错误:

代码语言:javascript
复制
#using an R module 
res = DirichletReg.ddirichlet(np.asarray(my_values),alphas,
                              log=False, sum.up=False) 
SyntaxError: keyword can't be an expression

这里到底出了什么问题?

EN

回答 3

Stack Overflow用户

发布于 2012-07-24 22:49:48

因为sum.up不是有效的参数名,所以sum.up=False命名参数上的python源代码解析器失败(不能在参数名中使用圆点--只能使用字母数字和下划线)。

票数 8
EN

Stack Overflow用户

发布于 2017-12-07 03:58:17

使用Elastic search DSL API时,您可能会遇到相同的错误

代码语言:javascript
复制
s = Search(using=client, index="my-index") \
    .query("match", category.keyword="Musician")

您可以通过执行以下操作来解决此问题:

代码语言:javascript
复制
s = Search(using=client, index="my-index") \
    .query({"match": {"category.keyword":"Musician/Band"}})
票数 5
EN

Stack Overflow用户

发布于 2014-03-24 18:34:27

我只是在从%格式转换到.format()时遇到了这个问题。

前面的代码:

代码语言:javascript
复制
"SET !TIMEOUT_STEP %{USER_TIMEOUT_STEP}d" % {'USER_TIMEOUT_STEP' = 3}

有问题的语法:

代码语言:javascript
复制
"SET !TIMEOUT_STEP {USER_TIMEOUT_STEP}".format('USER_TIMEOUT_STEP' = 3)

问题是format是一个需要参数的函数。它们不能是字符串。这是我见过的最糟糕的python错误消息之一。

已更正代码:

代码语言:javascript
复制
"SET !TIMEOUT_STEP {USER_TIMEOUT_STEP}".format(USER_TIMEOUT_STEP = 3)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11633421

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档