Функции и стандартные команды в программировании: объявление, вызов и встроенные функции

Функции и стандартные команды в программировании: объявление, вызов и встроенные функции Полезное

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

Ниже разберем, что такое функция, как ее объявить и вызвать, чем аргумент отличается от возвращаемого значения и какие встроенные функции и модули стандартной библиотеки чаще всего нужны в начале. Примеры на 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. Встроенных функций несколько десятков, а модулей стандартной библиотеки — сотни, поэтому их не заучивают, а ищут по задаче.

OTUS Журнал
Скидка 5% 14-20 сентября на курсы (popup)