В Python script я вызываю функцию из 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
?
sum_up
сделал sum_up
дело. :)
Ошибка исходного парсера python на sum.up=False
с именем аргумент, поскольку sum.up не является допустимым именем аргумента (вы не можете использовать точки - только буквенно-цифровые символы и символы подчеркивания в именах аргументов).
Я думаю, что многие из нас, которые пришли на эту страницу, столкнулись с проблемой Scikit Learn,, один из способов ее решения - создать словарь с параметрами и передать его модели:
params = {'C': 1e9, 'gamma': 1e-07}
cls = SVC(**params)
cls = SVC(C=1e9, gamma=1e-07)
?
Используя API-интерфейс DSL для поиска эластичности, вы можете получить ту же ошибку с помощью
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)
^
указывающим на токен, который вызвал ошибку разбора, другие (включая этот) не делают. В любом случае, обратите внимание на сообщение об ошибке, и гуглите сообщение об ошибке, если это необходимо. В этом случае первые попадания должны были прояснить ситуацию.