Kuidas funktsiooni sisse kutsuda Python (Näide)
⚡ Nutikas kokkuvõte
Funktsioonid sees Python on korduvkasutatavad koodiplokid, mis käivitatakse kutsumisel ja on defineeritud def-lausega. Need aktsepteerivad argumente, tagastavad väärtusi ja tuginevad iga funktsiooni kuuluvate lausete rühmitamiseks järjepidevale taandele.
Mis on funktsioon Python?
A Funktsioon sisse Python on koodilõik, mis käivitub viitamisel. Seda kasutatakse koodi kasutamiseks programmis rohkem kui ühes kohas. Seda nimetatakse ka meetodiks või protseduuriks. Python pakub palju sisseehitatud funktsioone nagu print(), input(), compile() ja exec(), aga annab ka vabaduse luua oma funktsioone.
Kuidas funktsiooni defineerida ja sisse kutsuda Python
Funktsioon sees Python on defineeritud lausega „def“, millele järgnevad funktsiooni nimi ja sulud ( () ).
Näide:
Defineerime funktsiooni käsuga „def func1():” ja kutsume funktsiooni välja. Funktsiooni väljund on „Ma õpin Python funktsioon ”.
Funktsioonikutse func1() käivitab meie def func1(): ja kuvab käsu „Ma õpin Python funktsioon Puudub.”
Seal on reeglistik Python programmeerimine funktsiooni määratlemiseks.
- Kõik argumendid või sisendparameetrid tuleks paigutada nendesse sulgudesse.
- Funktsiooni esimene lause võib olla valikuline lause — funktsiooni dokumentatsioonistring.
- Iga funktsiooni kood algab kooloniga (:) ja peaks olema taandatud (tühikuga).
- Lause return (avaldis) väljub funktsioonist, valikuliselt edastades kutsujale väärtuse. Argumentideta return-lause on sama mis return None.
Treppimise (ruumi) tähendus in Python
Enne kui me tutvume Python funktsioonide puhul on oluline, et mõistaksime deklareeritava taande reeglit Python funktsioone ja need reeglid kehtivad ka teistele elementidele Python samuti, näiteks tingimuste, tsüklite või muutujate deklareerimine.
Python järgib koodi määratlemiseks kindlat taande stiili. Kuna Python Funktsioonidel pole selget algust ega lõppu, näiteks looksulgusid, mis tähistaksid funktsiooni algust ja lõppu, vaid nad peavad tuginema taandele. Siin toome lihtsa näite käsuga „print“. Kui kirjutame funktsiooni „print“ otse def func1(): rea alla, kuvatakse teade „taandeviga: oodatakse taandatud plokki“.
Nüüd, kui lisate funktsiooni „print” ette taande (tühiku), peaks see ootuspäraselt välja printima.
Koodi edukaks toimimiseks piisab vähemalt ühest taandest. Parima tava kohaselt on aga soovitatav jätta funktsiooni kutsumiseks umbes 3–4 taandet.
Samuti on vajalik, et taande deklareerimisel säilitaksite sama taande kogu ülejäänud koodis. Näiteks alloleval ekraanipildil, kui kutsume välja teise lause „still in func1“ ja see ei ole deklareeritud vahetult esimese print-lause all, kuvatakse taandevea: „unindent does not match any other dentation level“.
Kui nüüd mõlemale lausele sama taanet rakendada ja need samale reale joondada, annab see oodatud väljundi.
Kuidas funktsioon tagastab väärtuse?
Tagastuskäsk Python määrab, millist väärtust funktsiooni kutsujale tagasi anda. Vaatleme seda järgmise näite abil.
Samm 1) Funktsioon ei tagasta midagi
Siin näeme, millal funktsioon ei "tagasta". Näiteks tahame arvu 4 ruutu ja see peaks koodi käivitamisel andma vastuseks "16". See annab selle, kui kasutame lihtsalt koodi "print x*x", kuid funktsiooni "print square" kutsumisel annab see väljundiks "None". Seda seetõttu, et funktsiooni kutsumisel rekursiooni ei toimu ja see langeb funktsiooni lõpust maha. Python tagastab funktsiooni lõpust väljalangemise korral väärtuse „None“.
2. samm) Asendage printimiskäsk määramiskäsuga
Selle selgemaks tegemiseks asendame print-käsu omistamiskäsuga. Kontrollime väljundit.
Kui käivitada käsk „print square (4)“, tagastab see tegelikult objekti väärtuse. Kuna meil pole siin ühtegi konkreetset funktsiooni käivitada, tagastab see väärtuse „None“.
3. samm) Kasutage funktsiooni „return” ja käivitage kood
Nüüd vaatame, kuidas väljundit käsuga „return” hankida. Funktsiooni „return” kasutamisel ja koodi käivitamisel saadakse väljundiks „16”.
Samm 4) Käivitage käsk "prindi ruut"
Funktsioonid sees Python on ise objekt ja objektil on mingi väärtus. Vaatame siin, kuidas Python käsitleb objekti. Kui käivitate käsu „print square”, tagastab see objekti väärtuse. Kuna me pole ühtegi argumenti edastanud, pole meil siin ühtegi konkreetset funktsiooni, seega tagastab see vaikeväärtuse (0x021B2D30), mis on objekti asukoht. Praktikas Python programmi, siis tõenäoliselt ei pea te seda kunagi tegema.
Argumendid funktsioonides
Argument on väärtus, mis antakse funktsioonile selle kutsumisel.
Teisisõnu, kutsuva poole pealt on see argument ja funktsiooni poolelt parameeter.
Vaatame, kuidas Python argumendid toimivad.
Step 1) Argumendid deklareeritakse funktsiooni definitsioonis. Funktsiooni kutsudes saate nende argumentide väärtused edastada allpool näidatud viisil.
Step 2) Argumendi vaikeväärtuse deklareerimiseks määrake sellele väärtus funktsiooni definitsioonis.
Näide: x-il pole vaikeväärtust. y vaikeväärtus on 0. Kui korrutusfunktsiooni kutsumisel anname ainult ühe argumendi, Python määrab x-ile antud väärtuse, samal ajal kui keeping y väärtus=0. Seega x*y=0 korrutis.
Step 3) Seekord muudame väärtuseks y=2 vaikeväärtuse y=0 asemel ja tagastame väljundi kujul (4×2)=8.
Step 4) Samuti saate muuta argumentide edastamise järjekorda PythonSiin oleme x ja y väärtuste järjekorra ümber pööranud, x=4 ja y=2.
Step 5) Mitu argumenti saab edastada ka massiivina. Selles näites kutsume mitu argumenti (1,2,3,4,5) välja funktsiooni (*args) abil.
Näide: Deklareerisime mitu argumenti numbritena (1,2,3,4,5); funktsiooni (*args) kutsumisel prindib see väljundi kujul (1,2,3,4,5).
Nõuanne:
- In Python 2.7-s ei toetata funktsioonide ülekoormamist. Funktsioonide ülekoormamine on võimalus luua mitu sama nimega meetodit erineva implementatsiooniga. Funktsioonide ülekoormamine on täielikult toetatud versioonis Python 3.
- Meetodite ja funktsioonide vahel on üsna suur segadus. Meetodid Python on seotud objekti eksemplaridega, funktsioonid aga mitte. Millal Python kutsub välja meetodi, seob see selle väljakutse esimese parameetri vastava objektiviitega. Lihtsamalt öeldes, iseseisev funktsioon Python on "funktsioon", samas kui funktsioon, mis on klassi või eksemplari atribuut, on "meetod".
Siin on täielik Python 3 kood
#define a function
def func1():
print ("I am learning Python function")
print ("still in func1")
func1()
def square(x):
return x*x
print(square(4))
def multiply(x,y=0):
print("value of x=",x)
print("value of y=",y)
return x*y
print(multiply(y=2,x=4))
Siin on täielik Python 2 kood
#define a function
def func1():
print " I am learning Python function"
print " still in func1"
func1()
def square(x):
return x*x
print square(4)
def multiply(x,y=0):
print"value of x=",x
print"value of y=",y
return x*y
print multiply(y=2,x=4)















