Primeri funkcij Pythona: klic, zamik, argumenti & Vrnjene vrednosti

Kazalo:

Anonim

Kaj je funkcija v Pythonu?

Funkcija v Python je del kode, ki teče, ko se sklicujemo. Uporablja se za uporabo kode na več kot enem mestu v programu. Imenuje se tudi metoda ali postopek. Python ponuja številne vgrajene funkcije, kot so print (), input (), compile (), exec () itd., Hkrati pa omogoča tudi ustvarjanje lastnih funkcij.

V tej vadnici se bomo naučili

  • Kako definirati in poklicati funkcijo v Pythonu
  • Pomen vdolbine (presledka) v Pythonu
  • Kako funkcija vrne vrednost?
  • Argumenti v funkcijah

Kako definirati in poklicati funkcijo v Pythonu

Funkcija v Pythonu je definirana s stavkom "def", ki mu sledijo ime funkcije in oklepaji (())

Primer:

Določimo funkcijo z ukazom "def func1 (): in pokličemo funkcijo. Rezultat funkcije bo "Učim se funkcijo Python".

Funkcija print func1 () pokliče naš def func1 (): in natisne ukaz "Učim se Python funkcije None. "

V Pythonu obstajajo pravila za določanje funkcije.

  • Vse argumente ali vhodne parametre je treba postaviti v te oklepaje
  • Prvi stavek funkcije je lahko neobvezni dokument-niz ali dokumentacijski niz funkcije
  • Koda v vsaki funkciji se začne z dvopičjem (:) in mora biti zamaknjena (presledek)
  • Stavek return (izraz) zapusti funkcijo in po želji posreduje vrednost kličočemu. Izjava o vrnitvi brez argumentov je enaka vrnitvi None.

Pomen vdolbine (presledka) v Pythonu

Preden se seznanimo s funkcijami Python, je pomembno, da razumemo pravilo zamika za razglasitev funkcij Python in ta pravila veljajo tudi za druge elemente Pythona, kot so deklariranje pogojev, zank ali spremenljivk.

Python sledi določenemu slogu zamika, da definira kodo, ker funkcije Pythona nimajo nobenih eksplicitnih začetkov ali koncev kot kodraste oklepaje, ki bi označevale začetek in konec funkcije, se morajo zanašati na to zamik . Tu vzamemo preprost primer z ukazom "print". Ko zapišemo funkcijo "print" tik pod def funkcijo 1 (): Prikazala se bo " napaka zamika: pričakovan zamik bloka ".

Ko dodate vdolbino (presledek) pred funkcijo "print", se mora natisniti po pričakovanjih.

Vsaj ena alinea zadostuje za uspešno delovanje vaše kode. Toda kot najboljša praksa je priporočljivo, da pustite približno 3-4 zamika, da pokličete svojo funkcijo .

Prav tako je treba, da morate med označevanjem zamika ohraniti enako zamik za preostalo kodo . Na primer, na spodnjem posnetku zaslona, ​​ko pokličemo še en stavek "še vedno v funkciji1" in ko ni razglašen tik pod prvim stavkom za tiskanje, se prikaže napaka vdolbine "unindent se ne ujema z nobeno drugo ravnjo zamika."

Zdaj, ko uporabimo enako zamik za oba stavka in ju poravnamo v isto vrstico, poda pričakovani izhod.

Kako funkcija vrne vrednost?

Ukaz Return v Pythonu določa, katero vrednost naj vrne klicatelju funkcije.

Razumimo to z naslednjim primerom

Korak 1) Tukaj - vidimo, kdaj funkcija ni "return". Na primer, želimo kvadrat 4 in bi moral odgovoriti "16", ko se koda izvede. Kar daje, ko preprosto uporabimo kodo "print x * x", ko pa pokličete funkcijo "print square", kot izhod dobi "None". To je zato, ker se pri klicu funkcije rekurzija ne zgodi in pade s konca funkcije. Python vrne "None", ker ni končal funkcije.

Korak 2) Da bi bilo to bolj jasno, zamenjamo ukaz za tiskanje z ukazom za dodelitev. Preverimo izhod.

Ko zaženete ukaz "print square (4)", dejansko vrne vrednost predmeta, saj tu nimamo nobene posebne funkcije, ki bi jo povozila, vrne "None".

Korak 3) Tukaj bomo videli, kako pridobiti izhod z ukazom "return". Ko uporabite funkcijo "return" in zaženete kodo, bo izpisala "16."

Korak 4) Funkcije v Pythonu so same po sebi objekt in objekt ima določeno vrednost. Tu bomo videli, kako Python obravnava predmet. Ko zaženete ukaz "print square", vrne vrednost predmeta. Ker nismo predali nobenega argumenta, tukaj nimamo nobene posebne funkcije, ki bi jo zagnala, vrne privzeto vrednost (0x021B2D30), ki je lokacija predmeta. V praktičnem programu Python vam tega verjetno ne bo treba nikoli storiti.

Argumenti v funkcijah

Argument je vrednost, ki se funkciji posreduje, ko je poklicana.

Z drugimi besedami, na klicni strani je argument, na funkcijski strani pa parameter.

Poglejmo, kako deluje Python Args -

Korak 1) Argumenti so navedeni v definiciji funkcije. Med klicanjem funkcije lahko prenesete vrednosti za te argumente, kot je prikazano spodaj

Korak 2) Če želite razglasiti privzeto vrednost argumenta, mu dodelite vrednost pri definiciji funkcije.

Primer: x nima privzetih vrednosti. Privzete vrednosti y = 0. Ko med klicanjem funkcije množenja damo samo en argument, Python priloženi vrednosti dodeli x, hkrati pa ohrani vrednost y = 0. Zato je pomnožitev x * y = 0

Korak 3) Tokrat bomo vrednost spremenili na y = 2 namesto na privzeto vrednost y = 0, rezultat pa bo vrnil kot (4x2) = 8.

Korak 4) Spremenite lahko tudi vrstni red, v katerem se lahko argumenti posredujejo v Pythonu. Tu smo obrnili vrstni red vrednosti x in y na x = 4 in y = 2.

Korak 5) Več argumentov je mogoče predati tudi kot matriko. Tu v primeru pokličemo več argumentov (1,2,3,4,5) s klicanjem funkcije (* args).

Primer: Več arg smo razglasili kot število (1,2,3,4,5), ko pokličemo funkcijo (* args); izpiše izhod kot (1,2,3,4,5)

Nasveti :

  • V Pythonu 2.7. preobremenitev funkcije v Pythonu ni podprta. Preobremenitev funkcije je zmožnost ustvarjanja več istoimenskih metod z različno izvedbo. Preobremenitev funkcije je v Python 3 v celoti podprta
  • Med metodami in funkcijami je precej zmede. Metode v Pythonu so povezane s primerki objekta, medtem ko funkcija ni. Ko Python pokliče metodo, ta prvi parameter tega klica veže na ustrezen sklic na objekt. Z enostavnimi besedami je samostojna funkcija v Pythonu "funkcija", funkcija, ki je atribut razreda ali primerka, pa "metoda".

Tu je celotna koda Python 3

#define a functiondef func1():print ("I am learning Python function")print ("still in func1")func1()def square(x):return x*xprint(square(4))def multiply(x,y=0):print("value of x=",x)print("value of y=",y)return x*yprint(multiply(y=2,x=4))

Tu je celotna koda Python 2

#define a functiondef func1():print " I am learning Python function"print " still in func1"func1()def square(x):return x*xprint square(4)def multiply(x,y=0):print"value of x=",xprint"value of y=",yreturn x*yprint multiply(y=2,x=4)

Povzetek:

Funkcija v Pythonu je del kode za večkratno uporabo, ki se uporablja za izvedbo enega, povezanega dejanja. V tem članku bomo videli

  • Funkcija, definirana z izjavo def
  • Blok kode v vsaki funkciji se začne z dvopičjem (:) in mora biti zamaknjen (presledek)
  • Vse argumente ali vhodne parametre je treba postaviti v te oklepaje itd.
  • Vsaj ena alinea mora ostati pred kodo po razglasitvi funkcije
  • V celotni kodi znotraj funkcije def mora biti ohranjen enak slog zamika
  • Za najboljše prakse se tri ali štiri alinee štejejo za najboljše pred izjavo
  • Za vrnitev vrednosti v funkcijski klic lahko uporabite ukaz "return".
  • Python bo natisnil naključno vrednost, na primer (0x021B2D30), če argument ni dostavljen klicni funkciji. Primer "funkcija tiskanja."
  • Na klicni strani je argument, na funkcijski strani pa parameter
  • Privzeta vrednost v argumentu - ko med klicanjem funkcije množenja ali katere koli druge funkcije damo samo en argument, Python privzeto dodeli drugi argument
  • Python vam omogoča tudi, da obrnete vrstni red argumenta