Вывод в консоль

Перейдите к следующему слайду, нажав кнопку Вправо

Вывод в консоль с помощью Python

Подготовлено онлайн-курсом

https://dvmn.org

Как напечатать текст

print("Привет, Мир!")
Привет, Мир!

 Код

 Консоль

Пробелы важны

print("     Привет, Мир!")
     Привет, Мир!

 Код

 Консоль

Пять пробелов внутри кавычек

Пять пробелов при выводе

Пробелы важны внутри кавычек

print(     "Привет, Мир!")
Привет, Мир!

 Код

 Консоль

Пробелы снаружи

Пробелы при выводе

Пробелы внутри

print("     Привет, Мир!")
     Привет, Мир!

 Код

 Консоль

SyntaxError

 Код

 Консоль

print("Книга "Гарри Поттер"")
  File "script.py", line 1
    print("Книга "Гарри Поттер"")
                       ^
SyntaxError: invalid syntax

Всё сломалось.
Python жалуется на пробел ?!

Фрагмент текста выделен чёрным, иначе, чем красный текст слева.

 Код

 Консоль

print('Книга "Гарри Поттер"')
Книга "Гарри Поттер"

Двойная кавычка встретилась в тексте, поэтому снаружи ставим другие — одинарные. Вся строка подсветилась красным — победа!

Двойные кавычки

Если в тексте есть кавычки

print('Книга "Гарри Поттер"')

print("I'm coding right now")
Книга "Гарри Поттер"

I'm coding right now

 Код

 Консоль

оборачиваем в одинарные

print('''
Кавычка одинарная ' и двойная " 
''')

Кавычка одинарная ' и двойная " 

Оборачиваем текст в тройные кавычки. Таких внутри текста нет. Даем Python подсказку, что кавычки ' и " это часть фразы.

 Код

 Консоль

Если в тексте есть кавычки

В тексте есть и одинарная и двойная кавычки

Одинарные:

Три двойных:

Двойные:

Три одинарных: 

Python поддерживает 4 вида кавычек:

4 вида кавычек

print('Hello, World!')
print("Hello, World!")
print('''Hello, World!''')
print("""Hello, World!""")
print("Первая строка")
print("Вторая строка")
print("Третья строка")
Первая строка
Вторая строка
Третья строка

 Код

 Консоль

Код исполняется сверху вниз

print("Первая строка")
print("Вторая строка")


print("Третья строка")
Первая строка
Вторая строка
Третья строка

 Код

 Консоль

Пустые строки в коде игнорируются

print("Первая строка")
    print("Вторая строка")
print("Третья строка")
  File "script.py", line 1
    print("Вторая строка")
    ^
IndentationError: unexpected indent

Python не понял как исполнить эту программу и показал ошибку в консоли IndentationError — "неправильные отступы".

Код, файл script.py

 Консоль

Лишние отступы слева ломают код

print("Первая строка")
print("    Вторая строка")
print("Третья строка")
Первая строка
    Вторая строка
Третья строка

 Код

 Консоль

А внутри строк пробелы ставить можно

print("Первая строка \nВторая строка")
Первая строка
Вторая строка

Символ "\n" — это команда терминалу сделать перенос строки.

 Код

 Консоль

Символ переноса строки

print("Первая строка")
print("Вторая строка")
print()
print("Третья строка")
Первая строка
Вторая строка

Третья строка

Каждый новый принт выводит строку, потом ставит перенос строки. Если выводить нечего, он выводит только перенос строки.

 Код

 Консоль

print добавляет перенос строки

print("""Первая строка
Вторая строка""")

print("""Третья строка \
Всё ещё третья строка""")
Первая строка
Вторая строка
Третья строка Всё ещё третья строка

Символ "\" внутри многострочной строки отменяет перенос.

 Код

 Консоль

Как отменить перенос строки

print("""\
          .:'
      __ :'__
   .'`__`-'__``.
  :__________.-'
  :_________:
   :_________`-;
    `.__.-.__.'
""")
          .:'
      __ :'__
   .'`__`-'__``.
  :__________.-'
  :_________:
   :_________`-;
    `.__.-.__.'

Символ "\" в конце строки отменяет перенос

 Код

 Консоль

Как убрать пустую строку

Продвинутое использование

print("Первая фраза", "Вторая фраза")
Первая фраза Вторая фраза

print вставляет пробел между фразами

 Код

 Консоль

Вывести две фразы одним print

print("Первая", "Вторая")

print("Первая", "Вторая", sep=", ")
Первая Вторая
Первая, Вторая

Теперь делятся запятой с пробелом

 Код

 Консоль

Сменить разделитель

Отключить автоперенос строки

print("Первая")
print("Вторая")
Первая
Вторая
print("Первая", end=" ")
print("Вторая")
Первая Вторая

Перенос строки заменили на пробел

 Код

 Консоль

 Код

 Консоль

Два обратных слеша \\

print("Добавьте в строку \n")
print("А табуляция это \t")
Добавьте в строку
А табуляция это
print("Добавьте в строку \\n")
print("А табуляция это \\t")
Добавьте в строку \n
А табуляция это \t

Два идущих подряд обратных слеша Python заменяет на один символ '\', причём тот не участвует в дальнейших автозаменах. Схема работы:

\\n —> \\ + n —> \ + n

Больше примеров.

 Код

 Консоль

 Код

 Консоль

Потерялись \n и \t — их Python заменил на перенос строки и символ табуляции. Поэтому их не видно.

Отключить экранирование

print('''\
  //\\
 //——\\
//    \\
''')
  //\  
 //——\ 
//    \

Символ r перед строкой сообщает о том, что она "сырая", поэтому Python отключит автозамену. Больше примеров.

 Код

 Консоль

 Код

 Консоль

Линия из двойной стала одинарной. Python заменил \\ на \

  //\\
 //——\\
//    \\
print(r'''
  //\\
 //——\\
//    \\
''')

Покраска текста/фона, перемещение курсора

Читайте об этом в отдельной статье

Создано для онлайн-курса https://dvmn.org