Как да извикате функция в Python (Пример)
Какво е функция в Python?
A Функция в Python е част от кода, който се изпълнява, когато има препратка към него. Използва се за използване на кода на повече от едно място в програмата. Нарича се още метод или процедура. Python предоставя много вградени функции като print(), input(), compile(), exec() и т.н., но също така дава свобода да създавате свои собствени функции.
Как да дефинираме и извикаме функция в Python
Функция в Python се определя от „def“ израз, последван от името на функцията и скоби ( () )
Пример:
Нека дефинираме функция с помощта на командата ”def func1():” и извикаме функцията. Резултатът от функцията ще бъде „Уча се Python функция “.
Функцията печат func1() извиква нашата def func1(): и отпечатва командата ” аз се уча Python функция Няма."
Има набор от правила в Python за дефиниране на функция.
- Всички аргументи или входни параметри трябва да бъдат поставени в тези скоби
- Първият оператор на функцията може да бъде незадължителен оператор-документационен низ или документационен низ на функцията
- Кодът във всяка функция започва с двоеточие (:) и трябва да има отстъп (интервал)
- Операторът return (израз) излиза от функция, като по желание връща обратно стойност на извикващия. Инструкция за връщане без аргументи е същата като return None.
Значение на отстъп (интервал) в Python
Преди да се запознаем с Python функции, важно е да разберем правилото за отстъп, което да декларираме Python функции и тези правила са приложими за други елементи на Python както и деклариране на условия, цикли или променлива.
Python следва определен стил на отстъп, за да дефинира кода, тъй като Python функциите нямат изрично начало или край като къдрави скоби, за да укажат началото и края на функцията, те трябва да разчитат на този отстъп. Тук ще вземем прост пример с командата “print”. Когато напишем функцията „print“ точно под def func 1 (): ще покаже „грешка при отстъп: очаква се блок с отстъп".
Сега, когато добавите отстъп (интервал) пред функцията „печат“, тя трябва да се отпечата според очакванията.
Поне един отстъп е достатъчен, за да може вашият код да работи успешно. Но като най-добра практика е препоръчително да оставите около 3-4 отстъпа, за да извикате функцията си.
Също така е необходимо, докато декларирате отстъп, да трябва поддържайте същия отстъп за останалата част от вашия код. Например, в снимката на екрана по-долу, когато извикаме друг израз „все още във функция1“ и когато не е деклариран точно под първия оператор за печат, ще покаже грешка при отстъп „отстъпът не съответства на никое друго ниво на отстъп.“
Сега, когато прилагаме еднакъв отстъп и за двата израза и ги подравняваме в един и същ ред, това дава очаквания резултат.
Как функционира връщаната стойност?
Команда за връщане Python указва каква стойност да се върне на извикващия функцията. Нека разберем това със следния пример
Стъпка 1) Функцията не връща нищо
Тук – виждаме кога функцията не е „връщане“. Например, искаме квадрат от 4 и трябва да даде отговор „16“, когато кодът се изпълни. Което дава, когато просто използваме код „print x*x“, но когато извикате функция „print square“, тя дава „None“ като изход. Това е така, защото когато извикате функцията, рекурсията не се случва и пада от края на функцията. Python връща „Няма“ за отказ от края на функцията.
Стъпка 2) Заменете командата за печат с команда за присвояване
За да направим това по-ясно, заместваме командата за печат с команда за присвояване. Нека проверим изхода.
Когато изпълните командата „print square (4)“, тя всъщност връща стойността на обекта, тъй като нямаме конкретна функция, която да изпълним тук, тя връща „Няма“.
Стъпка 3) Използвайте функцията „връщане“ и изпълнете кода
Сега тук ще видим как да извлечем изхода с помощта на командата „return“. Когато използвате функцията „return“ и изпълните кода, той ще даде изход „16“.
Стъпка 4) Изпълнете командата 'print square'
Функции в Python сами по себе си са обект и обектът има някаква стойност. Тук ще видим как Python третира обект. Когато изпълните командата “print square” тя връща стойността на обекта. Тъй като не сме предали никакъв аргумент, нямаме конкретна функция, която да изпълним тук, тя връща стойност по подразбиране (0x021B2D30), която е местоположението на обекта. На практика Python програма, вероятно никога няма да ви се наложи да правите това.
Аргументи във функциите
Аргументът е стойност, която се предава на функцията, когато тя бъде извикана.
С други думи, от страната на извикването това е аргумент, а от страната на функцията е параметър.
Да видим как Python Args работи –
Стъпка 1) Аргументите се декларират в дефиницията на функцията. Докато извиквате функцията, можете да подадете стойностите за тези аргументи, както е показано по-долу
Стъпка 2) За да декларирате стойност по подразбиране на аргумент, присвоете му стойност при дефиницията на функцията.
Пример: x няма стойности по подразбиране. Стойности по подразбиране на y=0. Когато предоставим само един аргумент, докато извикваме функцията за умножение, Python присвоява предоставената стойност на x, като запазва стойността на y=0. Следователно умножението на x*y=0
Стъпка 3) Този път ще променим стойността на y=2 вместо стойността по подразбиране y=0 и ще върне резултата като (4×2)=8.
Стъпка 4) Можете също така да промените реда, в който могат да се подават аргументите Python. Тук сме обърнали реда на стойностите x и y на x=4 и y=2.
Стъпка 5) Множество аргументи също могат да бъдат предадени като масив. Тук в примера извикваме множеството аргументи (1,2,3,4,5), като извикваме функцията (*args).
Пример: Декларирахме множество аргументи като число (1,2,3,4,5), когато извикаме функцията (*args); той отпечатва резултата като (1,2,3,4,5)
Съвети:
- In Python 2.7. претоварване на функцията не се поддържа в Python. Претоварването на функциите е способността да се създават множество методи с едно и също име с различна реализация. Функционалното претоварване се поддържа напълно в Python 3
- Има голямо объркване между методи и функции. Методи в Python са свързани с обектни екземпляри, докато функцията не са. Кога Python извиква метод, той свързва първия параметър на това извикване към съответната препратка към обект. С прости думи, самостоятелна функция в Python е „функция“, докато функция, която е атрибут на клас или екземпляр, е „метод“.
Ето пълния Python 3 код
#define a function def func1(): print ("I am learning Python function") print ("still in func1") func1() def square(x): return x*x print(square(4)) def multiply(x,y=0): print("value of x=",x) print("value of y=",y) return x*y print(multiply(y=2,x=4))
Ето пълния Python 2 код
#define a function def func1(): print " I am learning Python function" print " still in func1" func1() def square(x): return x*x print square(4) def multiply(x,y=0): print"value of x=",x print"value of y=",y return x*y print multiply(y=2,x=4)
Oбобщение
Функция в Python е част от многократно използваем код, който се използва за извършване на едно свързано действие. В тази статия ще видим
- Функция, дефинирана от деф изявление
- Кодовият блок във всяка функция започва с двоеточие (:) и трябва да бъде с отстъп (интервал)
- Всички аргументи или входни параметри трябва да бъдат поставени в тези скоби и т.н.
- Трябва да се остави поне един отстъп преди кода след деклариране на функцията
- Един и същ стил на отстъп трябва да се поддържа в целия код в рамките на функцията def
- За най-добри практики три или четири тирета се считат за най-добри преди изявлението
- Можете да използвате командата „return“, за да върнете стойности към извикването на функцията.
- Python ще отпечата произволна стойност като (0x021B2D30), когато аргументът не е предоставен на извикващата функция. Пример „функция за печат“.
- От страната на извикването това е аргумент, а от страната на функцията е параметър
- Стойност по подразбиране в аргумента – Когато предоставяме само един аргумент, докато извикваме функция за умножение или друга функция, Python присвоява другия аргумент по подразбиране
- Python ви позволява също да обърнете реда на аргумента