Функция — это именованный блок кода, который решает одну задачу: принимает входные данные (аргументы), выполняет действия и обычно возвращает результат. Стандартные команды, о которых часто спрашивают новички, — это встроенные функции языка и его стандартной библиотеки: print, len, sum, sqrt и другие, которые уже написаны за вас.
Содержание
- Что такое функция и зачем она нужна
- Разведем термины: функция, оператор, команда
- Как объявить и вызвать функцию
- Аргументы и возвращаемое значение
- Встроенные функции: команды, которые всегда под рукой
- Стандартная библиотека: команды под задачу
- Частая ошибка: вызвать функцию без скобок
- Выводы
- Где применяется и что учить дальше
- FAQ
Ниже разберем, что такое функция, как ее объявить и вызвать, чем аргумент отличается от возвращаемого значения и какие встроенные функции и модули стандартной библиотеки чаще всего нужны в начале. Примеры на Python прогнаны, вывод в блоках — реальный. Сам принцип функций общий для всех языков, меняется только синтаксис.
Что такое функция и зачем она нужна
Функцию удобно представлять как кофемашину: на вход идут зерна и вода (аргументы), внутри выполняется процесс, на выходе получается кофе (результат). Вам не нужно знать устройство машины — достаточно нажать кнопку. С функцией так же: вызываете по имени и получаете результат, не переписывая ее код каждый раз.
Функции нужны по трем причинам. Они убирают повторение: логику пишут один раз, а вызывают сколько угодно. Они разбивают большую задачу на понятные части, каждую из которых легче проверить. И они дают имя действию, поэтому программа читается почти как текст: send_email, calculate_total, len.
Функции делят на две группы. Пользовательские вы объявляете сами под свою задачу. Встроенные (их и называют стандартными командами) уже есть в языке и его стандартной библиотеке — их достаточно вызвать.
Разведем термины: функция, оператор, команда
Слово «команда» в вопросах новичков обычно значит именно встроенную функцию, но в языке есть и другие конструкции, которые важно не путать.
| Понятие | Что это | Как выглядит |
|---|---|---|
| Функция | именованный блок кода, вызывается со скобками | len(numbers), greet("Аня") |
| Оператор (инструкция) | элемент синтаксиса языка, скобок-вызова не требует | if, for, =, return |
| Метод | функция, привязанная к объекту, вызывается через точку | text.upper(), numbers.append(5) |
Главный признак функции — круглые скобки после имени: они означают «вызвать сейчас». Оператор вроде if или for — это часть грамматики языка, а не то, что вызывают. Метод — та же функция, только принадлежащая объекту и вызываемая через точку. Дальше под «стандартной командой» мы понимаем встроенную функцию.
Как объявить и вызвать функцию
В Python функцию объявляют словом def, после которого идут имя, список параметров в скобках и тело с отступом. Вот минимальный полный пример, который можно скопировать и запустить:
def greet(name):
return f"Привет, {name}!"
message = greet("Аня")
print(message)
print(greet("Максим"))
Вывод программы:
Привет, Аня!
Привет, Максим!
Разберем по частям. Строка def greet(name): объявляет функцию с одним параметром name. Тело return f"Привет, {name}!" формирует и возвращает строку. Дальше идет вызов: greet("Аня") подставляет вместо name значение "Аня" и отдает результат, который мы сохраняем в message и печатаем. Объявление само по себе ничего не выполняет — код внутри функции срабатывает только в момент вызова.
Аргументы и возвращаемое значение
Параметр — это имя в объявлении функции, а аргумент — конкретное значение, которое подставляют при вызове. Аргументы передают по позиции или по имени, а часть параметров можно снабдить значением по умолчанию:
def power(base, exp=2): # exp по умолчанию равен 2
return base ** exp
print(power(5)) # только base, exp берется по умолчанию
print(power(2, 10)) # позиционные аргументы
print(power(base=3, exp=3)) # именованные аргументы
def no_return(x):
x * 2 # результат посчитан, но нигде не сохранен
result = no_return(4)
print(result) # функция без return возвращает None
Вывод программы:
25
1024
27
None
Здесь важно развести две вещи, которые новички часто смешивают. return отдает значение обратно в место вызова, и его можно сохранить или использовать в выражении. print только выводит текст на экран и ничего не возвращает. Если в функции нет return, она все равно возвращает значение — специальное None, как показала no_return. Поэтому расчет без return теряется: результат посчитан, но наружу не отдан.
Встроенные функции: команды, которые всегда под рукой
Встроенные функции доступны сразу, без импорта. Их немного, и они закрывают самые частые операции. Вот функции, с которыми сталкиваешься в первый же день:
| Функция | Что делает | Пример |
|---|---|---|
print() |
выводит значения на экран | print("hi") |
len() |
длина строки, списка, словаря | len([1, 2, 3]) -> 3 |
type() |
тип объекта | type(5) -> int |
int(), str(), float() |
преобразуют тип | int("42") -> 42 |
sum(), max(), min() |
сумма, максимум, минимум | sum([1, 2, 3]) -> 6 |
sorted() |
новый отсортированный список | sorted([3, 1, 2]) -> [1, 2, 3] |
range() |
последовательность чисел | range(1, 5) |
Соберем несколько таких команд в один прогон:
numbers = [4, 8, 15, 16, 23, 42]
print(len(numbers)) # сколько элементов в списке
print(sum(numbers)) # сумма всех чисел
print(max(numbers), min(numbers)) # максимум и минимум
print(sorted(numbers, reverse=True)) # новый список по убыванию
print(type(numbers).__name__) # имя типа объекта
print(list(range(1, 6))) # range тоже встроенная функция
Вывод программы:
6
108
42 4
[42, 23, 16, 15, 8, 4]
list
[1, 2, 3, 4, 5]
Обратите внимание: sorted возвращает новый список и не меняет исходный, а range(1, 6) дает числа от 1 до 5 — правая граница не входит в диапазон. Это типовое соглашение Python, но не универсальное правило языков: где-то границы включают обе.
Стандартная библиотека: команды под задачу
Кроме встроенных функций у языка есть стандартная библиотека — большой набор готовых модулей, которые ставятся вместе с самим Python (про это говорят «батарейки в комплекте»). Их не нужно скачивать, но нужно подключить словом import. Разложим встроенные, стандартные и сторонние функции по происхождению:
- Встроенные — доступны сразу:
print,len,sum. - Стандартная библиотека — идут в поставке, подключаются через
import:math,random,datetime. - Сторонние — устанавливаются отдельно менеджером
pip: например,requestsилиnumpy.
Возьмем три популярных модуля стандартной библиотеки:
import math
import random
from datetime import date
print(math.sqrt(144)) # квадратный корень
print(math.factorial(5)) # 5! = 1*2*3*4*5
random.seed(42) # фиксируем генератор для воспроизводимости
print(random.randint(1, 100)) # случайное целое от 1 до 100
today = date(2026, 9, 17)
print(today.isoformat()) # дата в формате ГГГГ-ММ-ДД
print(today.weekday()) # день недели: 0 - понедельник, 6 - воскресенье
Вывод программы:
12.0
120
82
2026-09-17
3
Строка random.seed(42) задает начальную точку генератора, поэтому randint при каждом запуске выдает то же число 82 — так пример воспроизводится. Без seed число было бы новым при каждом запуске. Значение 3 у weekday() означает четверг: отсчет идет от нуля-понедельника.
Частая ошибка: вызвать функцию без скобок
Имя функции без скобок — это ссылка на саму функцию, а не ее вызов. Забытые скобки — одна из самых частых ошибок новичка, и она не всегда дает явную ошибку, поэтому ее легко пропустить:
def square(x):
return x * x
wrong = square # забыли скобки - присвоили саму функцию
right = square(6) # со скобками - вызвали и получили число
print(callable(wrong)) # True: wrong - это функция, а не результат
print(right) # 36
Вывод программы:
True
36
В переменной wrong оказалась сама функция (callable подтверждает это значением True), а не число. Чтобы получить результат, скобки обязательны: square(6) возвращает 36. Тот же принцип работает и со встроенными командами: len — это объект функции, а вычисляет длину только len(numbers).
Выводы
- Функция — именованный блок кода: принимает аргументы, выполняет действия и обычно возвращает результат через
return; объявляют ее словомdef, а срабатывает она только при вызове со скобками. - Функции бывают пользовательские (объявляете сами) и встроенные, их же называют стандартными командами:
print,len,sum,sortedдоступны сразу без импорта. - Стандартная библиотека (
math,random,datetimeи другие) идет в поставке языка и подключается черезimport; сторонние пакеты ставят отдельно черезpip. returnотдает значение наружу,printтолько выводит на экран; функция безreturnвозвращаетNone.- Имя функции без скобок — это ссылка на нее, а не вызов; результат дают только скобки.
Где применяется и что учить дальше
Функции и встроенные команды — это фундамент любой программы: без них не обходятся ни обработка данных, ни веб-приложение, ни автоматизация рутины. Умение объявлять свои функции и находить нужную готовую команду в стандартной библиотеке экономит массу времени и делает код чище.
Освойте тему на практике
Если хочется освоить Python с нуля системно — от синтаксиса функций и стандартной библиотеки до работы с коллекциями и модулями, — посмотрите курс Python Basic в Otus. Понять формат и уровень занятий до старта помогают бесплатные открытые уроки Otus — живые вебинары с преподавателями и разбором задач.
Смежные темы: Типизация в программировании, Сериализация в программировании.
FAQ
Чем функция отличается от метода? Метод — это функция, привязанная к объекту, и вызывается через точку: text.upper(). Обычная функция самостоятельна и вызывается по имени: len(text). Механика одинаковая, разница в том, кому функция принадлежит.
Обязательно ли функция что-то возвращает? Нет. Если return не написан, функция все равно вернет None и обычно выполняется ради побочного действия — например, вывода на экран или записи в файл. Возвращать значение стоит, когда результат нужен дальше в программе.
Где посмотреть список всех встроенных функций и модулей? В официальной документации Python есть разделы Built-in Functions и The Python Standard Library. Встроенных функций несколько десятков, а модулей стандартной библиотеки — сотни, поэтому их не заучивают, а ищут по задаче.



