В операторах печати, что определяет, печатает ли оболочка Python нулевой символ или ждет ввода - PullRequest
2 голосов
/ 19 мая 2009

Недавно я попробовал несколько тренировочных программ на python и столкнулся с этой небольшой проблемой.

когда я набрал

print ""

в IDLE, оболочка python напечатала нулевой символ.

Если я набрал

print """"""

в IDLE, оболочка python напечатала нулевой символ.

но оболочка python ожидает ввода, если я наберу

print """"

Почему наблюдается такое поведение. Насколько мне известно, для этого print """" также должен быть напечатан нулевой символ.

Ответы [ 2 ]

11 голосов
/ 19 мая 2009

В python вы можете заключить строки в 1 или 3 кавычки.

print "a"
print """a"""

В вашем случае переводчик ожидает последней тройной кавычки.

4 голосов
/ 19 мая 2009

Я подозреваю, что вы имеете в виду, что python напечатал пустую строку - это не то же самое, что нулевой символ.

Когда вы print """""", python находит пустую строку в тройных кавычках.

Когда вы print """", python находит начало строки в тройных кавычках и ждет, пока вы введете остаток (заканчивающийся """).

Строка с тройной кавычкой может включать другие квоты, разрывы строк и т. Д.

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