$ sudo teach IT
Модуль 2 · Первые шаги · Урок 2.1

Готовые функции: print(), len(), type()

Учимся пользоваться инструментами, которые Python уже дал вам в руки.

Теория~15 минутНовичок

В прошлом уроке вы уже один раз написали print("Hello, World!") и увидели, как программа что-то отвечает. Но что тогда произошло на самом деле? Откуда Python знает, что делать с этой строчкой?

Дело в том, что print — это не волшебное слово, а готовый инструмент, который уже встроен в Python. Таких инструментов в языке десятки: одни выводят текст на экран, другие считают длину слова, третьи говорят, с каким типом данных вы работаете. Вам не нужно писать их с нуля — нужно только знать, как ими пользоваться. Именно этому и посвящён этот урок: вы разберёте пять таких инструментов и поймёте общий принцип, по которому работают все остальные, которые встретятся дальше по курсу.

Что значит «вызвать функцию»

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

В программировании так же устроены функции. Функция — это уже готовый, отдельно оформленный кусок кода, который умеет делать конкретное действие. Чтобы этим действием воспользоваться, функцию нужно вызвать: написать её имя и сразу за ним — круглые скобки. То, что вы кладёте внутрь скобок, называется аргументом — это и есть уточнение вроде «эспрессо или капучино», которое вы передаёте функции, чтобы она знала, с чем работать.

Python · вызов функции
print("Привет")
Вывод:
Привет
printимя функции — готового инструмента, который выводит текст на экран
( )круглые скобки означают вызов: «выполни то, что умеешь»
"Привет"аргумент — строка в кавычках, которую нужно вывести

Если скобки убрать и просто написать print, ничего не произойдёт — Python лишь «посмотрит» на функцию, но не выполнит её. Про эту и другие похожие ловушки поговорим отдельно в разделе про частые ошибки.

У функций есть ещё одно важное свойство: после выполнения они могут отдать обратно какое-то значение. Это называется результатом (или возвращаемым значением). У функции print результата, по сути, нет — её задача просто вывести текст на экран. А вот дальше вы увидите функции, которые как раз работают через результат: они ничего не печатают сами, а лишь возвращают значение, и его нужно вывести отдельно.

print(): несколько аргументов, sep и end

Если в кофемашину можно одновременно засыпать и кофе, и добавить сахар — то есть указать сразу несколько уточнений — то и в print можно передать не один аргумент, а сразу несколько. Для этого их перечисляют через запятую.

Python · несколько аргументов
print("Python", "прост", "и", "понятен")
Вывод:
Python прост и понятен

Обратите внимание: Python сам поставил пробелы между словами, хотя вы их не писали. Это поведение по умолчанию — между аргументами print подставляет пробел, а в самом конце добавляет переход на новую строку (поэтому следующий print всегда начинается с чистой строки).

Это поведение можно изменить. У функции print есть официальный термин для такой настройки — именованный параметр: вы пишете имя настройки, знак равенства и новое значение прямо внутри скобок. Это не создание переменной (с переменными вы познакомитесь в следующем уроке) — это способ сказать самой функции print, как себя вести. У неё их два:

sepчем разделять аргументы между собой. По умолчанию — пробел " "
endчто напечатать в самом конце, после последнего аргумента. По умолчанию — переход на новую строку
Python · sep
print("2026", "09", "24", sep="-")
Вывод:
2026-09-24

Здесь sep="-" означает: вместо пробела между аргументами ставь дефис. Каждый аргумент по-прежнему отдельный ("2026", "09", "24") — просто склеивает их Python теперь не пробелом, а тем символом, который вы указали.

Python · end
print("Загрузка", end="...")
print("Готово")
Вывод:
Загрузка...Готово
print("Загрузка", end="...")печатает «Загрузка», но вместо перехода на новую строку добавляет «...»
print("Готово")начинает печать сразу после «...», на той же строке, а не с новой
Sep и end — это не два разных print, а параметры одного и того же. Их можно использовать вместе: print("а", "б", sep=", ", end="!") выведет а, б!

Это открывает удобный приём: чтобы вывести несколько строк одним-единственным вызовом print, достаточно передать их как отдельные аргументы и указать sep="\n" — символ переноса строки.

Python · несколько строк одним print
print("Раз", "два", "три", sep="\n")
Вывод:
Раз
два
три

Каждый из трёх аргументов оказался на своей строке, потому что символ "\n" теперь стоит между ними вместо пробела — сам Python понимает \n как команду «перейти на новую строку», а не как два обычных символа.

len(): длина строки

Представьте, что вам нужно быстро посчитать, сколько букв в слове, не пересчитывая их по одной пальцем. Для этого в Python есть готовая функция len (сокращение от английского length — «длина»). Она принимает один аргумент и возвращает число — количество символов в нём.

Python · len
print(len("Python"))
Вывод:
6
len("Python")вызов функции len с аргументом-строкой; результат — число 6
print( ... )len сама ничего не печатает, а только возвращает число, поэтому результат оборачивают в print, чтобы его увидеть

Важно: len считает абсолютно все символы, включая пробелы и знаки препинания.

Python · len с пробелами и знаками
print(len("Привет, мир!"))
Вывод:
12

Проверьте сами: «Привет» — 6 символов, запятая — 1, пробел — 1, «мир» — 3, восклицательный знак — 1. Итого 12. Функция len не умеет отличать «настоящие» буквы от знаков препинания — для неё любой символ считается наравне с остальными.

type(): какого типа значение

Иногда важно понять, с чем именно вы работаете: с числом, с текстом или с чем-то ещё. В жизни вы отличаете яблоко от книги на глаз, а вот Python нужно спросить напрямую — для этого есть функция type. Она принимает одно значение и возвращает его тип.

Python · type
print(type(5))
print(type(5.5))
print(type("Python"))
Вывод:
<class 'int'>
<class 'float'>
<class 'str'>
intцелое число, без дробной части (integer)
floatдробное число, с точкой (float — число с плавающей точкой)
strстрока, текст в кавычках (string)

Слово class в выводе можно пока пропускать мимо ушей — оно означает, что в Python даже такие простые вещи, как число, устроены как отдельная сущность со своими правилами. Пока для вас важно только то, что идёт после class: само название типа.

Как и len, функция type ничего не печатает сама — она только возвращает значение. Если написать просто type(5) отдельной строкой в файле и запустить программу, вы не увидите ничего, потому что результат никуда не вывели. Чтобы его увидеть, type(...) всегда нужно передавать внутрь print(...), как в примере выше.

round(), abs(), max(), min(): счётные помощники

У Python есть ещё несколько готовых функций для работы с числами — они пригодятся вам почти в каждом уроке дальше, так что познакомиться с ними стоит сразу.

Python · round -- округление
print(round(3.7))
print(round(3.14159, 2))
Вывод:
4
3.14
round(3.7)округляет число до целого по обычным математическим правилам — результат 4
round(3.14159, 2)второй аргумент — сколько знаков оставить после точки; здесь 2, результат 3.14
Python · abs -- модуль числа
print(abs(-5))
print(abs(5))
Вывод:
5
5

abs (от английского absolute value) убирает знак минус, если он есть, и возвращает число по модулю — расстояние от нуля. Для уже положительного числа результат не меняется.

Python · max и min
print(max(3, 8, 1))
print(min(3, 8, 1))
Вывод:
8
1

max и min принимают сколько угодно аргументов через запятую и возвращают самый большой и самый маленький из них соответственно. Работают они и с двумя числами, и с пятью — количество аргументов не ограничено.

Совет. Не старайтесь запомнить эти функции наизусть — достаточно понимать общий принцип: имя, скобки, аргумент внутри. Конкретные названия быстро осядут в памяти сами собой, как только вы несколько раз ими воспользуетесь на практике.

Частые ошибки

Вот на чём чаще всего спотыкаются в начале работы с готовыми функциями.

Забыли скобки. Если написать имя функции без круглых скобок, Python не станет ругаться ошибкой — но и не выполнит её. Строка просто ничего не сделает.

Ошибка -- нет вызова
print
print("Привет")
Вывод:
Привет

Первая строка ничего не вывела: print без скобок — это просто упоминание функции, а не её выполнение. Печатается только то, что после скобок.

Текст без кавычек. Если забыть кавычки вокруг текста, Python решит, что вы обращаетесь не к строке, а к чему-то уже существующему в программе — например, к переменной с таким именем.

Ошибка -- без кавычек
print(Привет)
Вывод:
NameError: name 'Привет' is not defined

Python честно ищет что-то с именем Привет среди уже известных ему слов — не находит и сообщает об этом ошибкой NameError. Кавычки — это то, что превращает набор букв в обычный текст, а не в имя.

len() на числе. Функция len умеет считать длину только у строк (и у нескольких других типов, с которыми вы познакомитесь позже) — но не у чисел.

Ошибка -- len от числа
print(len(25))
Вывод:
TypeError: object of type 'int' has no len()

Число 25 — это не набор символов, а единая величина, и у него просто нет «длины». Если вам нужно посчитать, например, сколько цифр в числе, придётся сначала превратить его в строку — но это тема одного из следующих уроков.

Что важно запомнить из этого урока
Функция — готовый инструмент; чтобы им воспользоваться, её вызывают: имя и круглые скобки, внутри которых аргументы
print() выводит текст; несколько аргументов через запятую печатаются через пробел, а sep и end меняют разделитель и окончание
len() возвращает количество символов в строке, включая пробелы и знаки препинания
type() возвращает тип значения: int, float или str
round(), abs(), max() и min() — готовые помощники для работы с числами
len() и type() ничего не печатают сами — их результат нужно оборачивать в print(), чтобы увидеть

Проверьте себя

3 вопроса

Три строки одним print

Вы разобрали параметр sep у функции print. Выведите одним (единственным) вызовом print() три строки, каждую на своей строке:

Утро
День
Вечер

Используйте sep="\n", чтобы развести аргументы по разным строкам. Одна команда print — три аргумента — три строки вывода.