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

Если конечная запятая добавлена ​​в конец оператора печати, следующий оператор выполняется первым. Почему это? Например, это выполняется 10000 ** 10000 перед печатью "Hi ":

print "Hi",
print 10000 ** 10000

И это требует времени, прежде чем печатать "Привет, Hello":

def sayHello():
    for i in [0] * 100000000: pass
    print "Hello"
print "Hi",
sayHello()

Ответ 1

  • В Python 2.x завершающий , оператор print предотвращает испускание новой строки.

    • В Python 3.x используйте print("Hi", end="") для достижения того же эффекта.
  • Стандартный вывод буферизируется по строке. Таким образом, "Hi" не будет напечатано до того, как выйдет новая строка.

Ответ 3

Как отмечают другие, стандартная буферизация. Вы можете попробовать использовать это в точках, которые вам нужны для вывода:

sys.stdout.flush()

Ответ 4

print автоматически помещает строку новой строки в конец строки. Это не обязательно то, что мы хотим; например, мы могли бы захотеть напечатать несколько частей данных по отдельности и показать их все на одной строке. Чтобы предотвратить добавление новой строки, поместите запятую в конец оператора печати:

d=6
print d,
print d

Output:
6 6