Google colab не может добавить комментарий - PullRequest
0 голосов
/ 05 марта 2020

Обычно я могу комментировать с # или """ для многострочных комментариев. Но в следующих случаях

if i > 0:
                if (df.loc[i, 'data'] <= level1) and \ # Comment
                    (df.loc[i - 1, 'data'] > level1) and \ # Comment
                    not ideal_state:

                    ideal_state_time = df.loc[i,'data']
                    ideal_state = True

я получил ошибку

  File "<ipython-input-24-07959bc4f436>", line 121
    if (df.loc[i, 'data'] <= level1) and \ # Comment
                                                                                                              ^
SyntaxError: unexpected character after line continuation character

Что происходит? Что не так с комментированием после sla sh? Я поставил sla sh, потому что в противном случае он выдаст ошибку.

Ответы [ 3 ]

1 голос
/ 05 марта 2020

Вы можете попробовать заменить \ (обратная косая черта) на () (скобки), как показано ниже

if( (df.loc[i, 'data'] <= level1) and  # Comment
    (df.loc[i - 1, 'data'] > level1) and  # Comment
    not ideal_state
):
    ideal_state_time = df.loc[i,'data']
    ideal_state = True

Вы можете увидеть в PEP8 , рекомендуется использовать скобки

Предпочтительным способом переноса длинных строк является использование подразумеваемого продолжения строки Python в скобках, скобках и скобках. Длинные строки можно разбить на несколько строк, заключив выражения в скобки. Они должны использоваться вместо использования обратной косой черты sh для продолжения строки.

Обратная косая черта может все еще быть подходящей время от времени. Например, длинные множественные операторы with не могут использовать неявное продолжение, поэтому допустимы обратные слеши:

with open('/path/to/some/file/you/want/to/read') as file_1, \
     open('/path/to/some/file/being/written', 'w') as file_2:
    file_2.write(file_1.read())```

0 голосов
/ 05 марта 2020

обратная коса sh "\" - символ продолжения строки. т.е.

print "massive super long string that doesn't fit" + \
  "on a single line"

после него разрешены только символы новой строки / пробелы.

0 голосов
/ 05 марта 2020

Backsla sh позволяет использовать if, если он занимает несколько строк, так как он говорит что-то вроде "игнорировать предстоящий символ (перевод строки)" *

ваш интерпретатор читает это так:

if (df.loc[i, 'data'] <= level1) and # Comment (df.loc[i - 1, 'data'] > lev...

И тогда ваш переводчик прав, ваш знак комментария там не принадлежит.

В продолжениях строк могут никогда не быть комментариев. Вам разрешено комментировать снова после not ideal_state:

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