Почему слишком длинные имена переменных вызывают 'SyntaxError: неверный синтаксис'? - PullRequest
0 голосов
/ 13 мая 2018

Следующая строка кода вызвала SyntaxError: invalid syntax:

#coding=utf-8    
result_3_logspace_mean_proportion_сorrect_answers = Exception('3_logspace_mean_proportion_сorrect_answers').get_result(result_1_main)

, а вторая строка кода не была:

#coding=utf-8
result_3 = Exception('3_logspace_mean_proportion_сorrect_answers').get_result(result_1_main)

Как решить проблему?Я сильно хочу имя первой переменной.

Ответы [ 2 ]

0 голосов
/ 13 мая 2018

Имя первой переменной содержит не-ascii символ: первое «c» в «правильном» - это маленькая кириллица es . Вы можете увидеть это, если расшифруете строку в ascii:

#Python3
>>> 'result_3_logspace_mean_proportion_сorrect_answers'.encode()
'result_3_logspace_mean_proportion_\xd1\x81orrect_answers'

#Python2
>>> u'result_3_logspace_mean_proportion_сorrect_answers'.encode('utf8')
'result_3_logspace_mean_proportion_\xd1\x81orrect_answers'

Замена его на обычную букву "с" устраняет проблему.

0 голосов
/ 13 мая 2018

Буква в начале correct - это не c, это кириллица с, и Python 2 по умолчанию принимает ASCII только в исходном коде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...