Какво представлява функцията в Python?
A Функция в Python е част от код, който започва да тече, когато е посочен. Използва се за използване на кода на повече от едно място в програма. Нарича се още метод или процедура. Python предоставя много вградени функции като print (), input (), compile (), exec () и др., Но също така дава свобода да създавате свои собствени функции.
В този урок ще научим
- Как да дефинираме и извикаме функция в Python
- Значение на отстъп (интервал) в Python
- Как функцията връща стойност?
- Аргументи във функции
Как да дефинираме и извикаме функция в Python
Функцията в Python се дефинира от израза "def" , последван от името на функцията и скобите (())
Пример:
Нека дефинираме функция, като използваме командата "def func1 (): и извикаме функцията. Резултатът от функцията ще бъде "Уча функцията на Python".
Функцията print func1 () извиква нашата def func1 (): и отпечатва командата „ Уча функцията Python None “.
В Python има набор от правила за дефиниране на функция.
- Всички аргументи или входни параметри трябва да бъдат поставени в тези скоби
- Първият израз на функцията може да бъде незадължителен оператор-документ или низ за документация на функцията
- Кодът във всяка функция започва с двоеточие (:) и трябва да бъде с отстъп (интервал)
- Операторът return (израз) излиза от функция, като по избор връща стойност на повикващия. Оператор за връщане без аргументи е същото като връщане Няма.
Значение на отстъп (интервал) в Python
Преди да се запознаем с функциите на Python, важно е да разберем правилото за отстъп, за да декларираме функции на Python и тези правила са приложими и за други елементи на Python, както и за деклариране на условия, цикли или променлива.
Python следва определен стил на отстъп, за да дефинира кода, тъй като функциите на Python нямат изрично начало или край като къдрави скоби, за да посочат началото и спирането на функцията, те трябва да разчитат на това отстъпване . Тук ще вземем прост пример с командата "print". Когато напишем функцията "print" точно под def func 1 (): Тя ще покаже " грешка на вдлъбнатината: очаква се отстъпен блок ".
Сега, когато добавите отстъп (интервал) пред функцията "print", той трябва да отпечатва според очакванията.
Поне едно тире е достатъчно, за да накарате кода си да работи успешно. Но като най-добра практика е препоръчително да оставите около 3-4 отстъп, за да извикате вашата функция .
Също така е необходимо, докато декларирате отстъп, трябва да поддържате същия отстъп за останалата част от кода . Например, в снимката отдолу на екрана, когато извикаме друг оператор „все още в func1“ и когато не е деклариран точно под първия оператор за печат, той ще покаже грешка при отстъп „unindent не съответства на друго ниво на отстъп“
Сега, когато прилагаме една и съща отстъп за двете изрази и ги подравняваме в един и същ ред, това дава очаквания изход.
Как функцията връща стойност?
Командата Return в Python указва каква стойност да се връща на повикващия на функцията.
Нека разберем това със следния пример
Стъпка 1) Тук - виждаме кога функцията не е "return". Например, ние искаме квадрат 4, и той трябва да даде отговор "16", когато кодът се изпълнява. Което дава, когато просто използваме код "print x * x", но когато извикате функция "print square", той дава "None" като изход. Това е така, защото когато извикате функцията, рекурсията не се случва и пада от края на функцията. Python връща "None" за неуспех в края на функцията.
Стъпка 2) За да направим това по-ясно, заместваме командата за печат с команда за присвояване. Нека проверим изхода.
Когато стартирате командата "print square (4)", тя всъщност връща стойността на обекта, тъй като нямаме конкретна функция, която да прегази тук, тя връща "None".
Стъпка 3) Тук ще видим как да извлечем изхода с помощта на командата "return". Когато използвате функцията "return" и изпълните кода, тя ще даде изхода "16."
Стъпка 4) Функциите в 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 и тя ще върне изхода като (4x2) = 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)
Съвети :
- В Python 2.7. претоварването на функцията не се поддържа в Python. Претоварването на функцията е възможността за създаване на множество методи с едно и също име с различно изпълнение. Претоварването на функциите се поддържа изцяло в Python 3
- Има доста объркване между методите и функциите. Методите в Python са свързани с екземпляри на обекти, докато функцията не е. Когато Python извиква метод, той обвързва първия параметър от това извикване със съответната препратка към обект. С прости думи, самостоятелна функция в Python е "функция", докато функция, която е атрибут на клас или екземпляр, е "метод".
Ето пълния код на Python 3
#define a functiondef func1():print ("I am learning Python function")print ("still in func1")func1()def square(x):return x*xprint(square(4))def multiply(x,y=0):print("value of x=",x)print("value of y=",y)return x*yprint(multiply(y=2,x=4))
Ето пълния код на Python 2
#define a functiondef func1():print " I am learning Python function"print " still in func1"func1()def square(x):return x*xprint square(4)def multiply(x,y=0):print"value of x=",xprint"value of y=",yreturn x*yprint multiply(y=2,x=4)
Резюме:
Функцията в Python е код за многократна употреба, който се използва за извършване на единично, свързано действие. В тази статия ще видим
- Функция, дефинирана от оператора def
- Кодовият блок във всяка функция започва с двоеточие (:) и трябва да бъде с отстъп (интервал)
- Всички аргументи или входни параметри трябва да се поставят в тези скоби и т.н.
- Поне едно тире трябва да бъде оставено преди кода след деклариране на функция
- Същият стил на отстъп трябва да се поддържа в целия код в рамките на функцията def
- За най-добри практики три или четири тирета се считат за най-добри преди изявлението
- Можете да използвате командата "return", за да върнете стойности към извикването на функцията.
- Python ще отпечата произволна стойност като (0x021B2D30), когато аргументът не е предоставен на извикващата функция. Пример "функция за печат."
- От страна на повикване това е аргумент, а от страна на функцията е параметър
- Стойност по подразбиране в аргумента - Когато предоставяме само един аргумент, докато извикваме функция за умножение или друга функция, Python присвоява другия аргумент по подразбиране
- Python ви позволява да обърнете и реда на аргумента