Функции на Python (def): Определение с примери

В тази статия ще научите за функциите, какво представлява функцията, синтаксиса, компонентите и видовете функции. Също така ще се научите да създавате функция в Python.

Видео: Въведение в функциите на Python

Какво представлява функция в Python?

В Python функцията е група свързани изрази, които изпълняват конкретна задача.

Функциите помагат да се раздели нашата програма на по-малки и модулни парчета. С нарастването и увеличаването на нашата програма функциите я правят по-организирана и управляема.

Освен това избягва повторението и прави кода за многократна употреба.

Синтаксис на функцията

 def function_name (параметри): "" "docstring" "" израз (и)

По-горе е показана дефиниция на функция, която се състои от следните компоненти.

  1. Ключова дума, defкоято маркира началото на заглавката на функцията.
  2. Име на функция за уникално идентифициране на функцията. Именуването на функциите следва същите правила за писане на идентификатори в Python.
  3. Параметри (аргументи), чрез които предаваме стойности на функция. Те не са задължителни.
  4. Двоеточие (:) за маркиране на края на заглавката на функцията.
  5. Незадължителен низ за документация (docstring), за да опише какво прави функцията.
  6. Един или повече валидни оператори на python, които съставляват тялото на функцията. Изявленията трябва да имат едно и също ниво на отстъп (обикновено 4 интервала).
  7. Опция по избор returnза връщане на стойност от функцията.

Пример за функция

 def greet(name): """ This function greets to the person passed in as a parameter """ print("Hello, " + name + ". Good morning!")

Как да извикам функция в python?

След като дефинираме функция, можем да я извикаме от друга функция, програма или дори подкана на Python. За да извикаме функция, ние просто въвеждаме името на функцията с подходящи параметри.

 >>> greet('Paul') Hello, Paul. Good morning!

Забележка: Опитайте да стартирате горния код в програмата Python с дефиницията на функцията, за да видите изхода.

 def greet(name): """ This function greets to the person passed in as a parameter """ print("Hello, " + name + ". Good morning!") greet('Paul')

Документи

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

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

В горния пример имаме docstring непосредствено под заглавката на функцията. Обикновено използваме тройни кавички, така че документите да могат да се простират до няколко реда. Този низ ни е достъпен като __doc__атрибут на функцията.

Например :

Опитайте да изпълните следното в обвивката на Python, за да видите изхода.

 >>> print(greet.__doc__) This function greets to the person passed in as a parameter

За да научите повече за документите в Python, посетете Python Docstrings.

Отчетът за връщане

В returnизявлението се използва, за да излезете функция и да се върнете до мястото, от където тя е наречена.

Синтаксис на return

 връщане (списък_изразяване)

Този израз може да съдържа израз, който се оценява и стойността се връща. Ако в израза няма израз или самият returnизраз не присъства във функция, тогава функцията ще върне Noneобекта.

Например:

 >>> print(greet("May")) Hello, May. Good morning! None

Тук Noneе върнатата стойност, тъй като greet()директно отпечатва името и не returnсе използва израз.

Пример за връщане

 def absolute_value(num): """This function returns the absolute value of the entered number""" if num>= 0: return num else: return -num print(absolute_value(2)) print(absolute_value(-4))

Изход

 2 4

Как функционира функцията в Python?

Работа на функции в Python

Обхват и продължителност на живота на променливите

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

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

Те се унищожават, след като се върнем от функцията. Следователно, функция не запомня стойността на променлива от предишните си повиквания.

Ето пример за илюстриране на обхвата на променлива в дадена функция.

 def my_func(): x = 10 print("Value inside function:",x) x = 20 my_func() print("Value outside function:",x)

Изход

 Value inside function: 10 Value outside function: 20

Here, we can see that the value of x is 20 initially. Even though the function my_func() changed the value of x to 10, it did not affect the value outside the function.

This is because the variable x inside the function is different (local to the function) from the one outside. Although they have the same names, they are two different variables with different scopes.

On the other hand, variables outside of the function are visible from inside. They have a global scope.

We can read these values from inside the function but cannot change (write) them. In order to modify the value of variables outside the function, they must be declared as global variables using the keyword global.

Types of Functions

Basically, we can divide functions into the following two types:

  1. Вградени функции - Функции, които са вградени в Python.
  2. Потребителски дефинирани функции - Функции, дефинирани от самите потребители.

Интересни статии...