Python. Урок 10

Урокът е за създаване на функции в Python и работа с тях (подаване на аргументи, връщане на стойност и т.н.). Ламбда функциите, техните характеристики и употреба също са разгледани.

В основата си функциите в Python практически не се различават от функциите в други езици за програмиране. Функцията е именувана част от кода, която може да бъде достъпна от друго място във вашата програма (но има ламбда функции, които нямат име, което ще бъде обсъдено в края на урока). По правило функциите се създават, за да работят с данни, които се предават като аргументи, а функцията може също да формира някаква върната стойност.

Създаване на функции

За да създадете функция, използвайте ключовата дума def, последвана от име и списък с аргументи в скоби. Тялото на функцията се разграничава по същия начин като тялото на условието (или цикъла): четири интервала. Така че най-простата функция, която не прави нищо, ще изглежда така.

Функция връща стойност, като използва ключовата дума return, последвана от върнатата стойност. Пример за функция, която връща единица, е показан по-долу.

Работа с функции

В много случаи функциите се използват за обработка на данни. Тези данни могат да бъдат глобални или предадени на функцията чрез аргументи. Списъкът с аргументи се дефинира по време на внедряване и се посочва в скоби след името на функцията. Например, операцията за добавяне на два аргумента може да се реализира по следния начин.

Нека да разгледаме още два примера за използване на функцията: изчисляване на числото на Фибоначи с помощта на рекурсия и изчисляване на факториела с помощта на цикъл.

Изчисляване на числото на Фибоначи.

Функцията може да бъде присвоена на променлива иизползвайте го, ако трябва да съкратите името. Пример е използването на факторна функция от математическия пакет.

ламбда функции

Ламбда функцията е неименувана функция, която приема произволен брой аргументи и оценява на един израз. Тялото на такава функция не може да съдържа повече от един оператор (или израз). Тази функция може да се използва като част от всякакви конвейерни изчисления (например вътре filter(), map() и reduce()) или независимо, на онези места, където трябва да извършите някакъв вид изчисление, което е удобно за „увиване“ във функция.

Можете да присвоите функция Lambda на променлива и след това да я използвате като име на функцията.

Списъците могат да се обработват с ламбда функции във функции като map(), filter(), reduce(), ще говорим за тях по-късно, но засега нека да разгледаме примера с map(). Функцията map приема два аргумента, първият е функцията, която ще бъде приложена към всеки елемент от списъка, а вторият е списъкът, който ще бъде обработен.

P.S.