Python funktio
- Edellinen Sivu Python For-silmukka
- Seuraava Sivu Python Lambda
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()
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")
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")
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)
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))
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")
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")
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
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)
- Edellinen Sivu Python For-silmukka
- Seuraava Sivu Python Lambda