Създаване на Python функция
Функциите са чудесен помощник във всички езици за програмиране. Те помагат за подобряване на кода, като правят итеративно, без да се налага да дублират код, за да получат резултат, без да използват функция. Функционалният код трябва да бъде възможно най-компактен. Функцията трябва да изпълнявасамо една операция. Тя трябва да го направи добре и не трябва да прави нищо друго. За да създадете четим код за вас и за други програмисти, трябва да го следвате.Работите с чист код, ако всяка функция основно прави това, което очаквате да прави.Половината от усилията за прилагане на този принцип се свеждат до избора на добри имена за компактни функции, които изпълняват една операция.
Колкото по-малък и по-специализиран е кодът за дадена функция, толкова по-лесно еда изберете приятелско имеза нея. Не се страхувайте да използватедълги имена. Дългото смислено име е по-добро от краткото неразбираемо. Бъдете постоянни в избора на име. Използвайте същите фрази, глаголи и съществителни в името на функцията, които се използват във вашите модули. Функция се създава с помощта на оператора def, както е показано в следващия пример. Вече се научихме как да работим със списъци в python, нека използваме знанията тук.
Доста проста функционална структура. Името на функцията show_as_text, важно е да не съвпада с името на самата функция на Python. Името на функцията трябва да е уникално и да се сравнява с променливите. Ако функцията се нарича get_values и променлива със същото име е създадена след нея в скрипта, тогава извикването get_values(args) ще изведе грешка.
Ако трябва да върнете множество стойности от функция, можете да използвате кортеж. Нека създадем малък аналог на играта Бинго! за да получите различни числа.
ПрисвояванеМожете да дадете на аргумент на функция стойност по подразбиране, като използвате оператор за присвояване.
Ако са посочени стойности по подразбиране за параметри в дефиницията на функцията, тези параметри могат да бъдат пропуснати при последващи извиквания на функция. Ако едно от тях не е посочено при извикване, то ще получи стойността по подразбиране. Например:
също така е възможно да се подадат именувани аргументи към функции, които след това могат да бъдат изброени в произволен ред. В този случай обаче трябва да знаете кои имена на аргументи са посочени в дефиницията на функцията.
Когато нови променливи се създават във функция, те имат локален обхват. Тоест такива променливи са дефинирани само в тялото на функцията и се унищожават, когато функцията се върне към програмата. За да можете да променяте глобалните променливи във функция, тези променливи трябва да бъдат дефинирани в тялото на функцията с помощта на глобалния оператор.