В прошлой статье мы говорили про рекурсию в Python, а также рассматривали ее на примере рекурсивной функции. Сегодня поговорим про 2 основных вида функций в Python, которые значительно расширяют его возможности. Читайте далее про основные виды функций и их роль в языке Python.
Какие основные виды функций существуют в Python
Прежде всего отметим, что функции в Python — это объекты (так как они не являются частью реализации классов, а определяются и существуют самостоятельно в отличие от методов), которые принимают некоторые аргументы на вход и возвращают значения на выходе. В языке программирования Python существует 2 основных вида функций:
- именные функции — это функции, которые определяются разработчиком через зарезервированное слово
def
. При определении именной функции прежде всего задается ее название (имя), что делает ее уникальной; - анонимные функции — это функции, которые содержат лишь одно выражение. Такие функции создаются через встроенную конструкцию
lambda
, что не делает их уникальными, так как они не имеют собственного названия, а при их вызове необходимо лишь обратиться к реализованному определенным образом черезlambda
выражению.
Каждый из этих видов мы подробнее рассмотрим далее на практических примерах.
Особенности работы с функциями в Python: несколько практических примеров
В качестве примера именной функции рассмотрим простую функцию, которая возвращает сумму двух любых чисел. Как уже отмечалось выше, для определения именной функции служит зарезервированное Python-слово def
[1]:
def add(x, y): return x + y
Для того, чтобы вызвать созданную именную функцию, достаточно просто указать ее имя и входящие параметры x
и y
[1]:
add(100, 200)##300
Чтобы было более наглядно, для примера применения анонимной функции можно также рассмотреть вычисление суммы двух элементов [1]:
(lambda x, y: x + y) (100,200) ##300
Как видно из вышерассмотренного примера, lambda-функцию можно вызвать в той же строке, где она создавалась. Достаточно лишь указать рядом параметры в скобках. На основании этого можно сделать вывод, что основное отличие анонимной функции от именной — это отсутствие имени и ограничения на тело функции до одного выражения. Также следует отметить, что анонимные функции могут принимать роль параметра именных функций. В качестве примера рассмотрим встроенную (которая создавалась когда-то давно другими разработчиками и признана универсальной) функцию map(), которая возвращает итератор, соответствующий преобразованной коллекции [2]:
list(map(lambda x: x.capitalize(), ['cat', 'dog', 'cow'])) ## это яркий пример создания анонимной функции ##через использование в ней встроенной функции capitalize() ##['Cat', 'Dog', 'Cow']
Таким образом, благодаря широкому спектру механизма применения и создания функций, Python снабжает разработчика богатой вариативностью разработки и оптимизации приложений. Это делает Python универсальным и надежным средством для работы с производительными приложениями, а также с Big Data обработкой.
Освоить Python на профессиональном уровне в разработчика различных приложений и прочих прикладных областях Data Science вы сможете на практических курсах по Python в нашем лицензированном учебном центре обучения и повышения квалификации ИТ-специалистов в Москве: