Я только что понял, что можно растянуть оператор на несколько строк, когда он передается в качестве параметра в функцию:
print(1 ==
1)
Однако, делая то же самое во время назначения переменной, возникает SyntaxError
:
x = 1 ==
1
Почему первый пример работает, а второй дает SyntaxError
?
Python распознает открытые скобки, скобки и скобки как указание на то, что инструкция не завершена. Таким образом, вызову функции "естественно" разрешено занимать строки.
Это соглашение синтаксического анализатора не применяется к выражениям, в которых нет необходимой сбалансированной заключающей пунктуации.
Обратите внимание, что строки также не могут пересекать границы линий.
x = (1 ==
... newline ... 1)
качестве рабочего синтаксиса может сделать это еще более понятным.
Еще один способ сделать это с помощью символа продолжения (\), как в...
x = 1 == \
1