Введение в Python (Красота) - страница 18

>| # На данном этапе мы еще не указываем имена переменных

>| def rectangle_area_finder( ):

>| """

>| >>> rectangle_area_finder(3, 5)

>| 15

>| >>> rectangle_area_finder(17.2, 6)

>| 103.2

>| """


2. Указать типы данных, которые принимает функция и тип данных, который она возвращает

>| # функция принимает два числа, а возвращает одно

>| def rectangle_area_finder( ):

>| """

>| (num, num) -> num

>| >>> rectangle_area_finder(3, 5)

>| 15

>| >>> rectangle_area_finder(17.2, 6)

>| 103.2

>| """


3. Подобрать подходящие названия для переменных

>| # Поскольку это математическая функция нам вполне подойдут имена a и b

>| def rectangle_area_finder(a, b):

>| """

>| (num, num) -> num

>| >>> rectangle_area_finder(3, 5)

>| 15

>| >>> rectangle_area_finder(17.2, 6)

>| 103.2

>| """


4. Написать краткое, но содержательное описание функции

>| def rectangle_area_finder(a, b):

>| """

>| (num, num) -> num

>| Returns an area of a rectangle with given sides a and b.

>| >>> rectangle_area_finder(3, 5)

>| 15

>| >>> rectangle_area_finder(17.2, 6)

>| 103.2

>| """


5. Написать собственно тело функции

>| def rectangle_area_finder(a, b):

>| """

>| (num, num) -> num

>| Returns an area of a rectangle with given sides a and b.

>| >>> rectangle_area_finder(3, 5)

>| 15

>| >>> rectangle_area_finder(17.2, 6)

>| 103.2

>| """

>| return a * b


6. Функция готова! Осталось вызвать ее с указанными в примерах аргументами



Как видно, при вызове команды help() с именем нашей функции в качестве аргумента мы получаем написанную нами документацию.

Сопровождайте ваши функции качественной документацией и программисты, которые будут работать с вашим кодом после вас будут вам благодарны.

Функциональное программирование в Python: lambda, zip, filter, map reduce

Published: 09 March 2017

Функциональным называется такой подход к процессу программирования, в программа рассматривается как вычисление математических функций, при этом не используются состояния и изменяемые объекты. Как правило, когда говорят о элементах функционального программировании в Python, то подразумеваются следующие функции: lambda, map, filter, reduce, zip.

Lambda выражение в Python:

lambda оператор или lambda функция в Python это способ создать анонимную функцию, то есть функцию без имени. Такие функции можно назвать одноразовыми, они используются только при создании. Как правило, lambda функции используются в комбинации с функциями filter, map, reduce.

Синтаксис lambda выражения в Python


>1 | lambda arguments: expression


В качестве arguments передается список аргументов, разделенных запятой, после чего над переданными аргументами выполняется expression. Если присвоить lambda-функцию переменной, то получим поведение как в обычной функции (делаем мы это исключительно в целях демонстрации)