Ohjelmoijana huomaat usein suorittavasi toimintoa tai tehtävää toistuvasti. Tämä voi olla työlästä ja aikaa vievää, varsinkin kun työskentelet suuren tai monimutkaisen koodikannan kanssa. Niiden automatisointi funktioilla on tehokkaampi tapa suorittaa tällaisia tehtäviä. Toimintojen avulla voit kirjoittaa koodilogiikan kerran ja käyttää sitä missä tahansa ohjelmassasi.
Mikä on Python-funktio?
Pythonissa funktio on koodilohko, jota käytetään tietyn tehtävän suorittamiseen. Sinun tarvitsee kirjoittaa funktio vain kerran, mutta voit käyttää sitä useita kertoja koodissasi. Funktio voi ottaa argumentteja tulo- ja palauttamisarvoina. Tämä yksinkertainen ohjelma näyttää funktion, joka laskee kolmen luvun summan:
# Python-funktio kolmen luvun summan laskemiseksi
deflaske_summa(a, b, c):
palata a+b+c
print (calculate_sum(1,2,3)) # palauttaa 6
print (calculate_sum(1000, 300,44)) # palauttaa 1344
print (calculate_sum(12, 4,78)) # palauttaa 94
Yllä olevassa ohjelmassa funktio palauttaa kolmen argumentin summan. Kun funktiota kutsutaan useita kertoja, se palauttaa eri lähdön kullekin tapaukselle. Hyödyllinen sovellus tälle toiminnolle on laskinsovellus.
Funktion määrittäminen Pythonissa
Pythonissa on monia sisäänrakennettuja toimintoja kehittäjien käytettävissä. Nämä sisäänrakennetut toiminnot eivät kuitenkaan aina riitä täyttämään useimpien projektien vaatimuksia. Mukautettujen vaatimusten täyttämiseksi sinun on määritettävä mukautetut toiminnot. Mukautettujen funktioiden määrittäminen on yleinen käytäntö ohjelmoinnissa.
Pythonissa voit määrittää mukautetun funktion käyttämällä def avainsana, jota seuraa funktiosi nimi suluissa sen edessä. Tässä on esimerkki:
deffunktion_nimi()
Sinun tulee ottaa huomioon nämä säännöt määrittäessäsi funktion nimeä Pythonissa:
- Toimintojen nimet tulee kirjoittaa pienillä kirjaimilla.
- Toimintojen nimien tulee olla kuvaavia.
- Käytä alaviivoja erottaaksesi sanat funktion nimessä.
Kun olet määrittänyt funktion, sinun on kirjoitettava logiikka haluamasi tehtävän suorittamiseksi. Tämä funktio esimerkiksi laskee kolmion alueen:
# Python-funktio kolmion alueen laskemiseen
deflaske_kolmio-ala(pohja, korkeus):
pinta-ala = (pohja * korkeus)/2
palata alueella
print (calculate_triangle_area(12, 3))
Yllä oleva funktio määrittää kaksi parametria: pohja ja korkeus, jakaa tuotteensa kahdella ja palauttaa tuloksen ulostulona. Voit kirjoittaa mitä tahansa logiikkaa, jonka haluat funktiosi suorittavan.
Funktioargumenttien ymmärtäminen
Aiemmissa esimerkeissä funktiot ovat käyttäneet argumentteja toimintojen suorittamiseksi. Näissä esimerkeissä olevat argumentit tunnetaan pakollisina tai sijaintiargumentteina. Pythonissa argumenttisi voivat olla jompikumpi seuraavista:
- Asema-argumentit
- Avainsanaargumentit
Positiaaliset argumentit
Positioargumentit on välitettävä oikeassa määrittelyjärjestyksessä. Jos esimerkiksi määrität funktion parametreilla a, b, ja c, sinun on välitettävä näiden parametrien arvot vastaavasti, kun kutsut niitä. Tarkastellaanpa edellistä esimerkkiä:
# Python-funktio kolmen luvun summan laskemiseksi
deflaske_summa(a, b, c):
palata a+b+c
print (calculate_sum(1,2,3)) # palauttaa 6
print (calculate_sum(1000, 300,44)) # palauttaa 1344
print (calculate_sum(12, 4,78)) # palauttaa 94
Yllä olevassa ohjelmassa laske_summa() funktio ottaa kolme argumenttia aina kun kutsumme sitä. Jokainen argumentti edustaa vastaavaa parametria. Ensimmäisessä funktiokutsussa numerot 1, 2, ja 3 edustaa a, b, ja c asianmukaisesti.
Parametri ilmoitetaan funktion määritelmässä, kun taas argumentti on arvo, joka välitetään, kun kutsut funktiota. Tämä arvo on esitys sitä vastaavasta parametrista.
Positioargumentit ovat pakollisia. Jos et lisää niitä, saat a Tyyppivirhe. Seuraava esimerkki osoittaa tämän:
deflaske_summa(a, b, c):
palata a+b+c
print (calculate_sum(1,2)) # aiheuttaa TypeError
Kun suoritat yllä olevan ohjelman koneellasi, saat alla olevan kuvan kaltaisen virheilmoituksen:
Avainsana-argumentit
Avainsanaargumentteja ei välttämättä tarvitse välittää aina, kun kutsut funktiota. Ne ovat valinnaisia argumentteja, eikä niiden tarvitse noudattaa tiettyä järjestystä. Python antaa meidän käyttää *args ja **kwargs määrittääksesi avainsanaargumentit.
Käyttämisen lisäksi *argumentit ja **kwargs, on myös mahdollista määrittää oletusarvot argumenteillesi. Tämä ei saa virheilmoitusta, jos unohdat lisätä arvon funktiota kutsuttaessa. Tämä esimerkki havainnollistaa:
deflaske_summa(a, b, c=3):
palata a+b+c
print (calculate_sum(1,2)) # palauttaa 6
Yllä olevassa ohjelmassa milloin laske_summa() kutsutaan, sille ei ole perusteita c; tämä ei vaikuta ohjelmaan, koska c on jo oletusarvo. Voit määrittää oletusarvot niin monelle argumentille kuin haluat, mutta varmista, että teet tämän viisaasti.
Käytä toimintoja koodin järjestämiseen
Toiminnot ovat hyödyllisiä koodin järjestämisessä, mikä tekee siitä luettavamman ja tehokkaamman. Toimintojen avulla voit jakaa koodisi pienempiin, uudelleenkäytettäviin osiin, joita on helpompi ymmärtää ja ylläpitää. Lisäksi, jos sinun on tehtävä muutoksia koodiisi, sinun on muutettava vain tarvittava toiminto koko koodipohjan sijaan.