Kot programer se boste pogosto znašli pri ponavljanju dejanj ali nalog. To je lahko dolgočasno in dolgotrajno, zlasti pri delu z veliko ali zapleteno bazo kode. Njihova avtomatizacija s funkcijami je učinkovitejši pristop k izvajanju takih nalog. Funkcije vam omogočajo, da logiko kode napišete enkrat in jo uporabite kjer koli v svojem programu.

Kaj je funkcija Python?

V Pythonu je funkcija blok kode, ki se uporablja za izvedbo določene naloge. Funkcijo morate napisati samo enkrat, vendar jo lahko večkrat uporabite v svoji kodi. Funkcija lahko sprejme argumente kot vhodne in vrne izhodne vrednosti. Ta preprost program prikazuje funkcijo, ki izračuna vsoto treh števil:

# Funkcija Python za izračun vsote treh števil

defizračunaj_vsoto(a, b, c):
vrnitev a+b+c

natisni (izračunaj_vsoto(1,2,3)) # vrne 6
natisni (izračunaj_vsoto(1000, 300,44)) # vrne 1344
natisni (izračunaj_vsoto(12, 4,78)) # vrne 94

V zgornjem programu funkcija vrne vsoto treh argumentov. Ko je funkcija večkrat poklicana, vrne drugačen rezultat za vsak primer. Uporabna aplikacija za to funkcijo bo aplikacija kalkulator.

instagram viewer

Definiranje funkcije v Pythonu

Python ima veliko vgrajenih funkcij na voljo razvijalcem za uporabo. Vendar te vgrajene funkcije ne zadostujejo vedno za izpolnitev zahtev večine projektov. Če želite izpolniti zahteve po meri, morate definirati svoje funkcije po meri. Definiranje funkcij po meri je običajna praksa pri programiranju.

V Pythonu lahko definirate funkcijo po meri z uporabo def ključna beseda, ki ji sledi ime vaše funkcije z oklepajem pred njo. Tukaj je primer:

defime_funkcije()

Pri dodeljevanju imena funkcije v Pythonu morate upoštevati ta pravila:

  • Imena funkcij naj bodo napisana z malimi črkami.
  • Imena funkcij morajo biti opisna.
  • Za ločevanje besed v imenu funkcije uporabite podčrtaje.

Ko definirate funkcijo, morate napisati logiko za izvedbo želene naloge. Na primer, ta funkcija izračuna površino trikotnika:

# Funkcija Python za izračun ploščine trikotnika

defizračunaj površino_trikotnika(osnova, višina):
površina = (osnova * višina)/2
vrnitev območje

natisni (izračunaj površino_trikotnika(12, 3))

Zgornja funkcija definira dva parametra: osnova in višina, deli njihov produkt z dva in vrne rezultat kot rezultat. Napišete lahko kakršno koli logiko, ki jo želite izvajati.

Razumevanje funkcijskih argumentov

V prejšnjih primerih so funkcije sprejele argumente za izvajanje dejanj. Argumenti v teh primerih so znani kot obvezni ali pozicijski argumenti. V Pythonu so lahko vaši argumenti kar koli od naslednjega:

  • Pozicijski argumenti
  • Argumenti ključnih besed

Pozicijski argumenti

Pozicijske argumente je treba posredovati v pravilnem vrstnem redu definicije. Na primer, če definirate funkcijo s parametri a, b, in c, vrednosti teh parametrov morate ustrezno posredovati, ko jih kličete. Oglejmo si prejšnji primer:

# Funkcija Python za izračun vsote treh števil

defizračunaj_vsoto(a, b, c):
vrnitev a+b+c

natisni (izračunaj_vsoto(1,2,3)) # vrne 6
natisni (izračunaj_vsoto(1000, 300,44)) # vrne 1344
natisni (izračunaj_vsoto(12, 4,78)) # vrne 94

V zgornjem programu je izračunaj_vsoto() funkcija sprejme tri argumente, kadar koli jo pokličemo. Vsak argument predstavlja ustrezen parameter. V prvem klicu funkcije številke 1, 2, in 3 predstavljati a, b, in c temu primerno.

Parameter je deklariran v definiciji funkcije, medtem ko je argument vrednost, posredovana, ko pokličete funkcijo. Ta vrednost je predstavitev njenega ustreznega parametra.

Pozicijski argumenti so obvezni. Če jih ne dodate, boste dobili a TypeError. Naslednji primer to dokazuje:

defizračunaj_vsoto(a, b, c):
vrnitev a+b+c

natisni (izračunaj_vsoto(1,2)) # sproži TypeError

Ko zaženete zgornji program na vašem računalniku, se prikaže napaka, podobna tisti na spodnji sliki:

Argumenti ključnih besed

Ni nujno, da so argumenti ključnih besed posredovani vsakič, ko pokličete funkcijo. So neobvezni argumenti in jim ni treba slediti določenemu vrstnemu redu. Python nam omogoča uporabo *argi in **kvargi za podajanje argumentov ključnih besed.

Poleg uporabe *args in **kwargs, je mogoče določiti tudi privzete vrednosti za vaše argumente. S tem ne boste dobili napake, če pozabite dodati vrednost pri klicu funkcije. Ta primer ponazarja:

defizračunaj_vsoto(a, b, c=3):
vrnitev a+b+c

natisni (izračunaj_vsoto(1,2)) # vrne 6

V zgornjem programu, ko izračunaj_vsoto() se imenuje, ni nobenega argumenta za c; to ne bo vplivalo na program, ker c že ima privzeto vrednost. Določite lahko privzete vrednosti za poljubno število argumentov, vendar se prepričajte, da to storite pametno.

Uporabite funkcije za organiziranje vaše kode

Funkcije so uporabne za organiziranje kode, zaradi česar je bolj berljiva in učinkovita. S funkcijami lahko svojo kodo razdelite na manjše dele, ki jih je mogoče večkrat uporabiti in jih je lažje razumeti in vzdrževati. Poleg tega, če morate spremeniti svojo kodo, morate spremeniti le potrebno funkcijo in ne celotne baze kode.