Основы Python
Теория: Функции и их вызов
Программирование нужно для того, чтобы выполнять самые разные операции. Иногда это простые действия, например сложение чисел или объединение строк. Но чаще речь идёт о сложных процессах: перевод денег со счёта на счёт, оформление заказа в интернет-магазине, расчёт налогов или подготовка отчёта.
Такие операции невозможно выразить одной командой. За действием вроде «перевести деньги» может скрываться десятки, сотни и даже тысячи строк кода: проверка баланса, списание суммы, учёт комиссии, обновление базы данных, отправка уведомления пользователю.
Чтобы управлять этим кодом и не теряться в деталях, используют функции. Функция объединяет блок кода в единое целое, прячет реализацию и позволяет сосредоточиться на смысле. Для программиста достаточно вызвать функцию и доверить ей всю внутреннюю работу.
Представим функцию, которая переводит деньги с одного счёта на другой. В реальности внутри неё может быть сотни строк кода, но мы этого не видим. Снаружи всё выглядит как одна простая команда:
Эта строка означает: вызвать функцию с именем transfer_money(), передать ей три значения — отправителя Alice, получателя Bob и сумму 100.
Вот ещё несколько примеров вызова функций, которые мы могли бы реализовать. У каждой функции своё имя и свой набор данных для работы.
Как устроен вызов функции
Вызов функции всегда выглядит одинаково: сначала пишется её имя, затем круглые скобки. Скобки показывают, что это именно вызов, а не просто имя. Так мы понимаем, что перед нами функция, а не переменная.
Внутри скобок указываются аргументы — данные, которые функция получает для работы. Их может быть несколько, один или вовсе ни одного.
Откуда берутся функции?
Функции бывают двух видов: встроенные в язык (built-in) и созданные программистами.
Встроенные функции — это те, что идут вместе с языком Python. Их можно использовать сразу, без дополнительных действий. Пример — функция print(), которая выводит данные на экран:
Функции, определяемые программистами, создаются тогда, когда нужно оформить свою логику в отдельный блок. Такую функцию можно назвать любым именем и использовать в коде так же, как встроенные. Мы научимся этому позже.
Кроме того, существуют функции, которые находятся в отдельных библиотеках. Чтобы ими пользоваться, их нужно подключать с помощью механизма импорта. Подробно импорт мы пока не разбираем, но в двух словах: это способ «подключить» внешний набор функций и сделать их доступными в программе.
Функция с одним параметром
Одной из самых часто используемых встроенных функций является len(). Она возвращает размер переданных данных, если это строка, то длину строки, то есть количество символов:
Здесь в строке 'Hello!' шесть символов, поэтому вызов len(message) вернёт число 6.
Возврат значения
Возврат значения — один из ключевых принципов работы функций. Благодаря ему мы можем соединять результаты разных действий и строить более сложную логику. Если функция возвращает значение, то мы можем сохранить его в переменную, передать в другую функцию или использовать в вычислениях. Именно так работает len(): она считает количество элементов и отдаёт результат «наружу».
Если бы len() сразу печатала результат на экран (как делает print()), то мы бы увидели число, но не смогли бы его использовать:
Вот почему возврат значения — настолько важная концепция. Он позволяет связывать функции между собой: одни функции возвращают данные, другие используют их в своей работе. Именно так из маленьких шагов строятся большие и сложные программы.
Функция с несколькими параметрами
Некоторые функции принимают сразу несколько данных для работы. Пример — встроенная функция pow(). Она возводит число в степень: первый параметр — это основание, второй — показатель степени.
Вызов функции с несколькими параметрами работает так же, как и с одним: имя функции, круглые скобки и перечисленные внутри аргументы через запятую.
Параметры и аргументы
Часто вместе с функциями упоминают два слова: параметры и аргументы. Они связаны, но не одно и то же.
- Параметры — это имена «мест для данных», которые ожидает функция.
- Аргументы — это конкретные значения, которые мы передаём в эти места при вызове.
Таким образом, параметры описывают, какие данные нужны функции, а аргументы — это фактические значения, которые мы передаём в момент вызова. Запоминать это не обязательно, скорее, это пригодится при чтении англоязычной литературы.








