在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