Подтвердить что ты не робот

Какую конечную запятую в функции печати?

Этот код от http://docs.python.org/2/tutorial/errors.html#predefined-clean-up-actions

with open("myfile.txt") as f:
    for line in f:
        print line,

Я не понимаю, что это за , в конце команды print.

Я также проверил doc, http://docs.python.org/2/library/functions.html#print.

Не понимая достаточно, это ошибка? (похоже, это не из официального учебника).

Я из ruby ​​/javascript, и это необычно для меня.

4b9b3361

Ответ 1

В Python 2.7 запятая должна показать, что строка будет напечатана в той же строке

Например:

for i in xrange(10):
     print i,

Это напечатает

1 2 3 4 5 6 7 8 9 

Чтобы сделать это в Python 3, вы должны сделать это:

 for i in xrange(10):
      print(i,end=" ")

Вы, вероятно, найдете этот ответ полезным

Печать горизонтально в питоне

---- Редактировать ---

В документации http://docs.python.org/2/reference/simple_stmts.html#the-print-statement говорится:

Символ '\n' пишется в конце, если оператор print не заканчивается запятой.

Ответ 2

Это предотвращает завершение print новой строкой, позволяя добавить новый print в конец строки.

Python 3 полностью изменяет это значение, и конечная запятая больше не принимается. Вы используете параметр end, чтобы изменить окончание строки, установив его в пустую строку, чтобы получить тот же эффект.

Ответ 3

От Конечная запятая Python после печати выполняет следующую команду:

  • В Python 2.x завершающий , в заявлении печати предотвращает испускание новой строки.
  • Стандартный вывод буферизируется по строке. Таким образом, "Привет" не будет напечатано до того, как выйдет новая строка.

Ответ 4

в питоне 2.7:

print line,

в питоне 3.х:

print(line, end = ' ')