在 Python 脚本中,我从 调用函数rpy2
,但出现此错误:
#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
,但出现此错误:
#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
?
我猜我们很多来到这个页面的人都对Scikit Learn 有疑问,解决它的一种方法是创建一个带参数的字典并将其传递给模型:
params = {'C': 1e9, 'gamma': 1e-07}
cls = SVC(**params)
这是 python 源解析器在sum.up=False
命名参数上失败,因为 sum.up 不是有效的参数名称(您不能使用点——参数名称中只能使用字母数字和下划线)。
使用 Elastic search 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"}})
从%
格式化转换为.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)