Python funktio

Funktio on koodiblokkia, joka suoritetaan vain kutsuttaessa.

Voit välittää tietoja (nimeltään parametrit) funktiolle.

Funktio voi palauttaa tietoja.

luodakseen funktion

Pythonissa käytetään def Avainsana määrittää funktion:

Esimerkki

def my_function():
  print("Hello from a function")

Funktion kutsu

Funktion kutsuun käytetään funktion nimeä ja sulkeita:

Esimerkki

def my_function():
  print("Hello from a function")
my_function()

Suorita Esimerkki

Parametrit

Tiedot voidaan välittää parametreina funktiolle.

Parametrit määritetään funktion nimen jälkeen sulkeissa. Voit lisätä tarpeen mukaan minkä määrän parametreja tahansa, vain erottamalla ne pilkulla.

Seuraava esimerkki sisältää parametria (fname) sisältävän funktion. Kun kutsutaan tätä funktiota, välitetään nimi, jota käytetään sisällä funktiota tulostamaan koko nimi:

Esimerkki

def my_function(fname):
  print(fname + " Gates")
my_function("Bill")
my_function("Steve")
my_function("Elon")

Suorita Esimerkki

Oletusparametrit

Seuraava esimerkki näyttää, miten käytetään oletusparametreja.

Jos kutsutaan funktiota ilman parametreja, käytetään oletusarvoa:

Esimerkki

def my_function(maa = "Kiina"):
  print("I am from " + country)
my_function("Sweden")
my_function("India")
my_function()
my_function("Brazil")

Suorita Esimerkki

Listana parametrina

Funktion parametrit voivat olla mitä tahansa tietotyyppiä (merkkijono, numero, lista, sanakirja jne.) ja niitä käsitellään samana tietotyyppinä funktiossa.

Esimerkiksi, jos lähetät Listan parametrina, se on edelleen List (lista) funktiossa:

Esimerkki

def my_function(food):
  for x in food:
    print(x)
fruits = ["apple", "banana", "cherry"]
my_function(fruits)

Suorita Esimerkki

Palautusarvo

Jos haluat, että funktio palauttaa arvon, käytä return Lause:

Esimerkki

def my_function(x):
  return 5 * x
print(my_function(3))
print(my_function(5))
print(my_function(9))

Suorita Esimerkki

Avainsanaparametrit

Voit myös lähettää parametreja key = value -syntaksin.

Parametrien järjestys ei ole merkitystä.

Esimerkki

def my_function(child3, child2, child1):
  print("The youngest child is " + child3)
my_function(child1 = "Phoebe", child2 = "Jennifer", child3 = "Rory")

Suorita Esimerkki

Python-dokumentissa avainsanaparametrit yleensä lyhennetään sanalla 'kwargs'.

Jokainen parametri

Jos et tiedä, kuinka monta parametria sinun tulisi välittää funktiolle, lisää * eteen parametin nimeen funktiomäärittelyssä.

Näin ollen funktio vastaanottaa parametrien tuplea ja voi vastaavasti käsitellä niitä:

Esimerkki

Jos parametrien määrä on tuntematon, lisää * eteen parametin nimeen:

def my_function(*kids):
  print("The youngest child is " + kids[2])
my_function("Phoebe", "Jennifer", "Rory")

Suorita Esimerkki

pass-komento

Funktion määrittelyn ei saa olla tyhjä, mutta jos olet jossain syystä kirjoittanut tyhjän funktion määrittelyn, käytä pass-komentoa virheiden välttämiseksi.

Esimerkki

def myfunction:
  pass

Suorita Esimerkki

Rekursio

Python hyväksyy myös funktioiden rekursion, mikä tarkoittaa, että määritetyt funktiot voivat kutsua itseään.

Rekursio on yleinen matemaattinen ja ohjelmointikäsite. Se tarkoittaa, että funktio kutsuu itseään. Tämän etu on, että voidaan kiertää tietoja saavuttaakseen tuloksen.

Kehittäjien tulisi olla erittäin varovaisia rekursioiden kanssa, koska on helppo kirjoittaa loputtomasti jatkuvia tai liikaa muistia tai suorituskykyä käyttäviä funktioita. Mutta oikein kirjoitettuna rekursio voi olla erittäin tehokas ja matemaattisesti elegantti ohjelmointimenetelmä.

Tässä esimerkissä:tri_recursion() on määritetty kutsuva oma itsensä ("recurse") funktioksi. Käytämme k muuttujaa tietona, joka vähenee (-1) joka kerta, kun rekursio tapahtuu. Kun ehto ei ole suurempi kuin 0 (esim. kun se on 0), rekursio päättyy.

Uusille kehittäjille saattaa kestää aikaa ymmärtää sen toimintaperiaate, paras tapa on testata ja muokata sitä.

Esimerkki

Rekursion esimerkki:

def tri_recursion(k):
  jos(k>0):
    tuloksen = k+tri_recursion(k-1)
    print(result)
  muuten:
    tuloksen = 0
  palauta tuloksen
print("\n\nRekursion Esimerkkien Tulokset")
tri_recursion(6)

Suorita Esimerkki