Python funkcije (def): Definicija s primjerima

U ovom ćete članku naučiti o funkcijama, što je funkcija, sintaksi, komponentama i vrstama funkcija. Također, naučit ćete stvoriti funkciju u Pythonu.

Video: Uvod u Python funkcije

Što je funkcija u Pythonu?

U Pythonu, funkcija je skupina povezanih izjava koja izvodi određeni zadatak.

Funkcije pomažu razbiti naš program na manje i modularne dijelove. Kako naš program postaje sve veći i veći, funkcije ga čine sve organiziranijim i upravljivijim.

Nadalje, izbjegava ponavljanje i čini kôd za ponovnu upotrebu.

Sintaksa funkcije

 def function_name (parametri): "" "docstring" "" statement (s)

Iznad je prikazana definicija funkcije koja se sastoji od sljedećih komponenata.

  1. Ključna riječ defkoja označava početak zaglavlja funkcije.
  2. Naziv funkcije za jedinstvenu identifikaciju funkcije. Imenovanje funkcija slijedi ista pravila pisanja identifikatora u Pythonu.
  3. Parametri (argumenti) kroz koje prosljeđujemo vrijednosti funkciji. Oni su neobavezni.
  4. Dvotačka (:) za označavanje kraja zaglavlja funkcije.
  5. Izborni niz dokumentacije (docstring) za opisivanje funkcije.
  6. Jedan ili više valjanih python izraza koji čine tijelo funkcije. Izjave moraju imati istu razinu uvlačenja (obično 4 razmaka).
  7. Izborni returnizraz za vraćanje vrijednosti iz funkcije.

Primjer funkcije

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

Kako pozvati funkciju u pythonu?

Nakon što definiramo funkciju, možemo je pozvati iz druge funkcije, programa ili čak Python upita. Da bismo pozvali funkciju, jednostavno upišemo ime funkcije s odgovarajućim parametrima.

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

Napomena: Pokušajte pokrenuti gornji kod u programu Python s definicijom funkcije da biste vidjeli izlaz.

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

Doktrine

Prvi niz nakon zaglavlja funkcije naziva se docstring i kratica je za string dokumentacije. Ukratko se koristi za objašnjenje što funkcija radi.

Iako je neobavezna, dokumentacija je dobra praksa programiranja. Ako se ne možete sjetiti što ste večerali prošli tjedan, uvijek dokumentirajte svoj kod.

U gornjem primjeru imamo docstring odmah ispod zaglavlja funkcije. Obično koristimo trostruke navodnike, tako da se docstring može proširiti na više redaka. Ovaj nam je niz dostupan kao __doc__atribut funkcije.

Na primjer :

Pokušajte pokrenuti sljedeće u Python ljusku da biste vidjeli izlaz.

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

Da biste saznali više o docstrings u Pythonu, posjetite Python Docstrings.

Izjava o povratku

returnIzjava se koristi za izlaz iz funkcije i vratiti na mjesto odakle je bio pozvan.

Sintaksa povratka

 povratak (izraz_popisa)

Ova izjava može sadržavati izraz koji se procjenjuje i vraća vrijednost. Ako u izrazu nema izraza ili sam returnizraz nije prisutan unutar funkcije, tada će funkcija vratiti Noneobjekt.

Na primjer:

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

Ovdje Noneje vraćena vrijednost jer greet()izravno ispisuje ime i ne returnkoristi se nijedan izraz.

Primjer povrata

 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))

Izlaz

 2 4

Kako funkcija funkcionira u Pythonu?

Rad funkcija u Pythonu

Opseg i vijek trajanja varijabli

Opseg varijable dio je programa u kojem se varijabla prepoznaje. Parametri i varijable definirani unutar funkcije nisu vidljivi izvan funkcije. Stoga imaju lokalni opseg.

Životni vijek varijable je razdoblje tijekom kojeg varijabla izlazi u memoriju. Životni vijek varijabli unutar funkcije je onoliko koliko se funkcija izvršava.

Uništavaju se kad se vratimo s funkcije. Stoga funkcija ne pamti vrijednost varijable iz njezinih prethodnih poziva.

Evo primjera za ilustraciju opsega varijable unutar funkcije.

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

Izlaz

 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. Ugrađene funkcije - Funkcije koje su ugrađene u Python.
  2. Korisnički definirane funkcije - Funkcije koje definiraju sami korisnici.

Zanimljivi članci...