Pythonicway - Функции в Python
Въведение в Python
Ново в сайта
Функции в Python
Функцията е блок от организиран, многократно използваем код, който се използва за изпълнение на конкретна задача. Функциите осигуряват по-добра модулност на приложението и значително увеличават повторното използване на кода.
Създаване на функция
Има някои правила за създаване нафункции в Python.
- Функционален блок започва с ключовата думаdef, последвана от името на функцията и скоби ( () ).
- Всички аргументи, които функцията приема, трябва да са в тези скоби.
- Скобите са последвани от двоеточие ( : ) и тялото на функцията започва на нов ред с отстъп.
Примерна функция в Python :
Извикване на функция
След като функцията е създадена, тя може да бъде изпълнена чрез извикване от друга функция или директно от обвивката наPython. За да извикате функция, въведете нейното име и добавете скоби.
Функционални аргументи в Python
Когато извикваме функция, можем да й предадем следните типове аргументи:
- Задължителни аргументи
- Аргументи на ключови думи
- Аргумент по подразбиране
- Аргументи с променлива дължина
Необходими аргументи на функцията:
Ако при създаването на функция сме посочили броя на аргументите, които й се предават и техния ред, тогава трябва да я извикаме със същия брой аргументи, посочени в желания ред.
Аргументи – ключови думи
Аргументите са ключови думи, използвани при извикване на функция. Благодарение на аргументите на ключовите думи можете да зададете произволен (т.е. различен от описания при създаването на функция) ред на аргументите.
Аргументи по подразбиране
Аргументът по подразбиране е аргументът, чиято стойност е първоначално зададена при създаването на функцията.
Аргументи с произволна дължина
Понякога възниква ситуация, когато не знаете предварително колко аргумента ще трябва да приеме дадена функция. В този случай трябва да се използват аргументи с произволна дължина. Те се дават от произволно име на променлива, предшествано от звездичка (*).
върната ключова дума
Операторът return прекратява изпълнението на функцията и връща стойността, посочена след израза. Изявление за връщане без аргументи е същото като изявлениеreturn None. Съответно, сега става възможно, например, да присвоите резултата от изпълнението на функция на някаква променлива.
Зона на видимост
Някои променливи на скрипта може да не са налични в някои области на програмата. Всичко зависи от това къде сте декларирали тези променливи.
ВPython има два основни обхвата на променливи:
Променливите, декларирани в тялото на функция, имат локален обхват, тези, декларирани извън която и да е функция, имат глобален обхват.
Това означава, че само функциите, в които са декларирани, имат достъп до локални променливи, докато глобалните променливи могат да бъдат достъпни в цялата програма във всяка функция.
Важно е да запомните, че за да получите достъп до глобална променлива, просто трябва да посочите нейното име. Въпреки това, ако сме изправени пред задачата да променим глобална променлива във функция, трябва да използваме ключовата думаglobal.
Рекурсията в програмирането е ситуация, при която дадена функция извиква сама себе си. Класическият пример за рекурсия е функциятаизчисляване на факториел на число.
Припомнете си, че факториелът на число, например 5, е произведението на всички естествени (цели) числа от 1 до 5. Тоест 1 * 2 * 3 * 4 * 5
Рекурсивна факторна функция в Python би изглеждала така :
Все пак трябва да се помни, че използването на рекурсия често може да бъде неоправдано. Факт е, че по време на извикване на функция определено количество памет е запазено в RAM на компютъра, съответно колкото повече функции изпълняваме едновременно, толкова повече памет ще е необходима, което може да доведе до препълване на стека и програмата ще приключи необичайно, не както се очаква. Като се има предвид това, където е възможно, е по-добре да се използват цикли вместо рекурсия.
Рецепта за създаване на функция в Python
Следният алгоритъм е препоръка за създаване нафункции в Python. Например, създаваме функция за изчисляване на площта на правоъгълник.
- Трябва да започнете с примери за това какво прави функцията и да изберете подходящо име. В нашия случай ще изглежда така:
- Посочете типовете данни, които функцията приема, и типа данни, които връща
- Изберете подходящи имена за променливите
- Напишете кратко, но смислено описание на функцията
- Напишете тялото на функцията
- Функцията е готова! Остава да го извикате с аргументите, посочени в примерите

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