print — первый диалог
Раздел 1.1 · ~27 мин · draft
Зачем print
Любая программа делает что-то внутри себя — считает, проверяет, перебирает.
Но пока она об этом молчит, ты как человек снаружи даже не знаешь, работает
она или нет. Программе нужен способ сказать наружу: «вот, держи, я посчитала».
В Python для этого есть функция print — и это первое, чему обычно учатся.
В этом уроке разберёмся, как print устроен, что ему можно дать
и что он с этим сделает.
Что такое print
print — это функция вывода. Функция в программировании — это
готовая штука, которая что-то делает, когда ты её вызываешь: пишешь
её имя и сразу за ним круглые скобки. В нашем случае имя — print,
а в скобках указываешь, что хочешь напечатать. То, что внутри скобок,
появится снаружи — в окне вывода, в консоли, в любом месте, где запущена
твоя программа.
Самый короткий рабочий пример. Запусти и посмотри, что получится.
В выводе должно появиться:
Привет, мир!
Вот, собственно, и весь print: дал ему что-то — увидел это снаружи. Дальше
будем разбираться, что именно ему можно давать и какие тут есть тонкости.
Но прежде — три детали, на которых спотыкаются чаще всего:
- Слово
printпишется строго маленькими буквами.PrintилиPRINTPython не узнает и упадёт с ошибкой. - Круглые скобки обязательны. Без них Python подумает, что ты просто
упомянул слово
print, но ничего у него не попросил. - То, что внутри скобок, называется аргументом. Запоминай этот термин — он будет встречаться постоянно. Аргумент — это то, что ты даёшь функции на вход.
Текст — в кавычках
В примере выше Привет, мир! был обёрнут в кавычки. Это не для красоты.
Текст в Python нужно оборачивать в кавычки — это способ сказать: «вот это
вот всё — текст, а не команда и не имя».
Кавычки бывают двух видов, и Python принимает оба:
Оба раза выведется без кавычек:
одинарные кавычки
двойные кавычки
Кавычки — это границы текста, в результат они не попадают. Какие выбирать из двух видов — дело вкуса. Главное правило: открыл одинарной — закрой одинарной. Открыл двойной — закрой двойной. Смешивать в одном куске нельзя.
Числа — без кавычек
С числами всё иначе. У них кавычек нет:
В выводе:
42
3.14
Числа Python узнаёт без подсказок: видит цифры — понимает, что это число. Дробная часть отделяется точкой, не запятой, — это сложилось исторически, почти во всех языках программирования так.
Несколько аргументов сразу
До этого мы давали print один аргумент. Но аргументов может быть
несколько — через запятую:
В выводе:
Привет, мир!
Между аргументами Python автоматически ставит пробел. Это удобно: можно склеить несколько кусочков и не возиться с пробелами руками.
Обрати внимание на запятые в этой строке — их две, и роли у них разные:
- Запятая внутри кавычек (
'Привет,') — часть текста. Она для Python такой же символ, как буквы. Окажется в выводе после слова «Привет». - Запятая между аргументами (между закрывающей кавычкой первого и открывающей кавычкой второго) — служебная. Это разделитель для самого Python: «вот закончился один аргумент, начинается следующий». На экран она не попадёт — вместо неё Python поставит пробел.
Поэтому в выводе Привет, мир! запятая ровно одна — та, которую мы
записали внутри кавычек. Это типичный затык новичков: кажется, что запятых
должно вывестись две (по числу в коде) или ни одной (Python же «сам ставит
пробел»). Правило простое: внутри кавычек — печатается, между кавычками —
работает как разделитель.
Аргументы могут быть разные — текст и числа в одной строке:
В выводе:
Возраст: 25
Цена: 99.99
Это типичный приём — подписать, что значит число, чтобы вывод не превращался в свалку цифр.
Пустой print()
print можно вызвать совсем без аргументов — просто пустые скобки:
В выводе:
Первая строка
Вторая строка — после пустой
Между двумя обычными строками появилась пустая. print() сам по себе ничего
не печатает, но всё равно переводит курсор на новую строку. Получается
пустая строка в выводе — удобно, чтобы разделять блоки и не лепить всё
в одну кучу.
Recap
print(...)— функция вывода. Всё, что в скобках, окажется снаружи программы.- Текст — в кавычках. Одинарных или двойных, но парных. Без кавычек
Python ищет имя и падает с
NameError. - Числа — без кавычек. Целые
42и дробные3.14(точка, не запятая). - Несколько аргументов — через запятую. Запятая между кавычками —
служебный разделитель, на её место Python ставит пробел. Запятая внутри
кавычек — часть текста, печатается как есть.
print('Возраст:', 25)→Возраст: 25. - Пустой
print()— пустая строка. Курсор переводится на новую строку, но ничего не печатается.