Функции Python
Функции — это один из самых важных инструментов в Python. Они позволяют объединять набор команд в отдельный блок, который можно вызывать в любой момент программы. Благодаря функциям код становится короче, понятнее и удобнее для поддержки.
Представьте, что вам нужно несколько раз выполнять одно и то же действие: например, вычислять площадь круга, выводить приветствие пользователю или проверять пароль. Вместо того чтобы каждый раз писать одинаковый код, можно создать функцию и вызывать ее по имени.

Что такое функция
Функция — это именованный блок кода, который выполняет определенную задачу.
Простейшая функция выглядит так:
def hello():
print("Привет!")
Здесь:
- def — ключевое слово для создания функции;
- hello — имя функции;
- () — круглые скобки для параметров;
- двоеточие : начинает тело функции.
Чтобы выполнить функцию, нужно вызвать ее:
hello()
Результат: Привет!
Зачем нужны функции
Использование функций дает несколько преимуществ:
- Повторное использование кода
Вместо копирования одинаковых команд можно написать их один раз. Без функции:
print("Добро пожаловать!")
print("Добро пожаловать!")
print("Добро пожаловать!")
С функцией:
def welcome():
print("Добро пожаловать!")
welcome()
welcome()
welcome()
- Упрощение программы
Большая программа разбивается на небольшие логические части. Например:
login()
show_menu()
process_order()
save_data()
По названиям функций уже можно понять, что делает программа.
- Более легкий поиск ошибок
Если ошибка находится внутри функции, достаточно исправить код только в одном месте.
Параметры функции
Часто функция должна работать с разными данными. Для этого используют параметры. Пример:
def greet(name):
print("Привет,", name)
Вызов:
greet("Анна")
greet("Иван")
Результат:
Привет, Анна
Привет, Иван
Параметр name получает значение при вызове функции.
Несколько параметров
Функция может принимать несколько значений.
def add(a, b):
print(a + b)
Вызов: add(5, 3)
Результат: 8
Значения, передаваемые в функцию, называются аргументами.
Возврат значения
Очень часто функция должна не просто выполнять действие, а возвращать результат. Для этого используется оператор return.
def add(a, b):
return a + b
Теперь можно сохранить результат:
result = add(5, 3)
print(result)
Результат: 8
После выполнения return работа функции завершается.
- Запишите ребенка на первый пробный урок
- Оплатите пакет занятий в течение 24 часов
- Получите до 5 уроков в подарок
Разница между print и return
Новички часто путают эти конструкции.
- print() выводит информацию на экран.
def add(a, b):
print(a + b)
- return возвращает значение программе.
def add(a, b):
return a + b
В большинстве случаев для вычислений нужен именно return.
Локальные переменные
Переменные, созданные внутри функции, существуют только внутри нее.
def test():
x = 10
print(x)
После завершения функции переменная x недоступна.
test()
print(x)
Возникнет ошибка: NameError
Такие переменные называются локальными.
Глобальные переменные
Если переменная создана вне функции, она называется глобальной.
name = "Анна"
def show():
print(name)
Функция может использовать такую переменную.
show()
Результат: Анна
Однако чрезмерное использование глобальных переменных считается плохой практикой.
Значения по умолчанию
Параметрам можно задавать стандартные значения.
def greet(name="Гость"):
print("Привет,", name)
Вызов без аргумента:
greet()
Результат: Привет, Гость
Вызов с аргументом:
greet("Анна")
Результат: Привет, Анна
Именованные аргументы
Аргументы можно передавать по имени.
def person(name, age):
print(name, age)
Вызов:
person(age=15, name="Максим")
Результат: Максим 15
Порядок передачи уже не важен.
Неограниченное количество аргументов
Иногда заранее неизвестно, сколько значений получит функция.
Для этого используется *args.
def total(*args):
print(sum(args))
Вызов:
total(1, 2, 3, 4, 5)
Результат: 15
Передача именованных аргументов
Используется **kwargs.
def show_info(**kwargs):
print(kwargs)
Вызов:
show_info(name="Анна", age=15)
Результат: {‘name’: ‘Анна’, ‘age’: 15}
Рекурсия
Функция может вызывать саму себя. Это называется рекурсией.
Пример вычисления факториала:
def factorial(n):
if n == 1:
return 1
return n * factorial(n - 1)
Вызов:
print(factorial(5))
Результат: 120
Рекурсия полезна для решения некоторых математических и алгоритмических задач.
Встроенные функции Python
Python содержит множество готовых функций.
- print()
Вывод информации: print("Привет")
- len()
Подсчет количества элементов: len("Python")
Результат: 6
- max()
Поиск максимального значения: max(5, 8, 2)
Результат: 8
- min()
Поиск минимального значения: min(5, 8, 2)
Результат: 2
- sum()
Сумма элементов: sum([1, 2, 3])
Результат: 6
- round()
Округление числа: round(3.14159, 2)
Результат: 3.14
Анонимные функции lambda
Для простых операций можно использовать лямбда-функции.
Обычная функция:
def square(x):
return x * x
Лямбда-аналог:
square = lambda x: x * x
Использование:
print(square(5))
Результат: 25
Документирование функций
Для описания назначения функции используют строку документации (docstring).
def add(a, b):
"""Возвращает сумму двух чисел."""
return a + b
Получить описание можно так:
help(add)
Частые ошибки при работе с функциями
- Забыли вызвать функцию
Создание:
def hello():
print("Привет")
Неверно: hello
Верно: hello()
- Неправильное количество аргументов
def add(a, b):
return a + b
add(5)
Возникнет ошибка: TypeError
- Забыли return
def add(a, b):
a + b
Результат функции будет None.
Как научиться использовать функции
Лучший способ освоить функции — постоянно применять их на практике. Как только в программе появляется повторяющийся код, стоит задуматься о создании функции. Со временем вы начнете автоматически разбивать большие задачи на небольшие функции, что является одним из главных навыков программиста.
Поможет разобраться с функциями, параметрами и созданием собственных программ преподаватель Python в Айтигенио. Запишитесь на бесплатный урок и попробуйте написать свои первые проекты на Python.
Главное о функциях Python
Функции позволяют объединять код в отдельные логические блоки и многократно использовать его в программе. Они могут принимать параметры, возвращать результаты через return, вызывать другие функции и даже самих себя. Благодаря функциям программы становятся более структурированными, понятными и удобными для разработки. Именно поэтому функции считаются одним из фундаментальных инструментов языка Python и используются практически в каждом реальном проекте.
Другие термины
Даём знания уже на первом уроке.
Итог: крутой IT-проект!