Python funkcije (def): definicija s primeri

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.

  1. Ključna beseda, defki označuje začetek glave funkcije.
  2. Ime funkcije za enolično identifikacijo funkcije. Poimenovanje funkcij sledi istim pravilom pisanja identifikatorjev v Pythonu.
  3. Parametri (argumenti), skozi katere funkciji posredujemo vrednosti. Neobvezna so.
  4. Dvopičje (:) za označevanje konca glave funkcije.
  5. Neobvezen niz dokumentacije (docstring) za opis delovanja funkcije.
  6. Eden ali več veljavnih stavkov python, ki sestavljajo telo funkcije. Izjave morajo imeti enako raven vdolbine (običajno 4 presledke).
  7. Izbirni returnstavek 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

returnIzjava 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 returnstavek sam ni prisoten v funkciji, bo funkcija vrnila Noneobjekt.

Na primer:

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

Tu Noneje vrnjena vrednost, saj greet()ime neposredno natisne in noben returnstavek 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?

Delovanje funkcij 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:

  1. Vgrajene funkcije - funkcije, ki so vgrajene v Python.
  2. Uporabniško določene funkcije - funkcije, ki jih določijo uporabniki sami.

Zanimive Članki...