V tem članku boste izvedeli več o funkcijah, kaj je funkcija, skladnji, komponentah in vrstah funkcij. Naučili se boste tudi ustvariti funkcijo v Pythonu.
Video: Uvod v funkcije Python
Kaj je funkcija v Pythonu?
V Pythonu je funkcija skupina povezanih stavkov, ki izvaja določeno nalogo.
Funkcije pomagajo naš program razbiti na manjše in modularne koščke. Ko se naš program veča in povečuje, ga funkcije naredijo bolj organiziranega in vodljivega.
Poleg tega se izogiba ponavljanju in omogoča ponovno uporabo kode.
Sintaksa funkcije
def function_name (parametri): "" "docstring" "" stavki
Zgoraj je prikazana definicija funkcije, ki je sestavljena iz naslednjih komponent.
- Ključna beseda,
def
ki označuje začetek glave funkcije. - Ime funkcije za enolično identifikacijo funkcije. Poimenovanje funkcij sledi istim pravilom pisanja identifikatorjev v Pythonu.
- Parametri (argumenti), skozi katere funkciji posredujemo vrednosti. Neobvezna so.
- Dvopičje (:) za označevanje konca glave funkcije.
- Neobvezen niz dokumentacije (docstring) za opis delovanja funkcije.
- Eden ali več veljavnih stavkov python, ki sestavljajo telo funkcije. Izjave morajo imeti enako raven vdolbine (običajno 4 presledke).
- Izbirni
return
stavek za vrnitev vrednosti iz funkcije.
Primer funkcije
def greet(name): """ This function greets to the person passed in as a parameter """ print("Hello, " + name + ". Good morning!")
Kako poklicati funkcijo v pythonu?
Ko definiramo funkcijo, jo lahko pokličemo iz druge funkcije, programa ali celo poziva Python. Za klic funkcije preprosto vtipkamo ime funkcije z ustreznimi parametri.
>>> greet('Paul') Hello, Paul. Good morning!
Opomba: Poskusite zagnati zgornjo kodo v programu Python z definicijo funkcije, da si ogledate rezultate.
def greet(name): """ This function greets to the person passed in as a parameter """ print("Hello, " + name + ". Good morning!") greet('Paul')
Doktrinci
Prvi niz za glavo funkcije se imenuje docstring in je okrajšava za niz dokumentacije. Na kratko se uporablja za razlago delovanja funkcije.
Čeprav je dokumentacija neobvezna, je dobra praksa pri programiranju. Vedno dokumentirajte svojo kodo, če se ne spomnite, kaj ste večerjali prejšnji teden.
V zgornjem primeru imamo dokument neposredno pod glavo funkcije. Običajno uporabljamo trojne narekovaje, tako da se vrvica lahko razširi na več vrstic. Ta niz nam je na voljo kot __doc__
atribut funkcije.
Na primer :
Poskusite zagnati naslednje v lupino Python, da si ogledate rezultate.
>>> print(greet.__doc__) This function greets to the person passed in as a parameter
Če želite izvedeti več o docstrings v Pythonu, obiščite Python Docstrings.
Izjava o vrnitvi
return
Izjava se uporablja za izhod iz funkcije in šel nazaj na kraj, od koder je bil imenovan.
Sintaksa vrnitve
vrnitev (seznam_izrazov)
Ta stavek lahko vsebuje izraz, ki se izračuna in vrne vrednost. Če v stavku ni izraza ali return
stavek sam ni prisoten v funkciji, bo funkcija vrnila None
objekt.
Na primer:
>>> print(greet("May")) Hello, May. Good morning! None
Tu None
je vrnjena vrednost, saj greet()
ime neposredno natisne in noben return
stavek ni uporabljen.
Primer vračila
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))
Izhod
2 4
Kako funkcija deluje v Pythonu?

Obseg in življenjska doba spremenljivk
Obseg spremenljivke je del programa, kjer je spremenljivka prepoznana. Parametri in spremenljivke, definirani znotraj funkcije, niso vidni zunaj funkcije. Zato imajo lokalni obseg.
Življenjska doba spremenljivke je obdobje, skozi katero spremenljivka izstopi v pomnilniku. Življenjska doba spremenljivk znotraj funkcije je tako dolgo, dokler se funkcija izvaja.
Ko se vrnemo iz funkcije, se uničijo. Zato funkcija ne zapomni vrednosti spremenljivke iz prejšnjih klicev.
Tu je primer za ponazoritev obsega spremenljivke znotraj funkcije.
def my_func(): x = 10 print("Value inside function:",x) x = 20 my_func() print("Value outside function:",x)
Izhod
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:
- Vgrajene funkcije - funkcije, ki so vgrajene v Python.
- Uporabniško določene funkcije - funkcije, ki jih določijo uporabniki sami.