Что такое функции в Python и какие они бывают

автор рубрика ,
Что такое функции в Python и какие они бывают

В прошлой статье мы говорили про рекурсию в 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 в нашем лицензированном учебном центре обучения и повышения квалификации ИТ-специалистов в Москве:

Комментировать