Hogyan hívjunk be egy függvényt Python (Példa)
⚡ Okos összefoglaló
Funkciók be Python olyan újrafelhasználható kódblokkok, amelyek meghívásra futnak, és a def utasítással vannak definiálva. Argumentumokat fogadnak el, értékeket adnak vissza, és konzisztens behúzásra támaszkodnak az egyes függvényekhez tartozó utasítások csoportosításához.

Miben található a funkció Python?
A Funkció be Python egy olyan kódrészlet, amely akkor fut, amikor hivatkoznak rá. Arra szolgál, hogy a kódot egynél több helyen is felhasználhassuk a programban. Metódusnak vagy eljárásnak is nevezik. Python számos beépített függvényt biztosít, mint például a print(), input(), compile() és exec(), de szabadságot ad saját függvények létrehozására is.
Hogyan definiáljunk és hívjunk be egy függvényt Python
Egy funkció benne Python a „def” utasítással definiálható, amelyet a függvény neve és a zárójelek ( () ) követnek.
Példa:
Definiáljunk egy függvényt a „def func1():” parancs használatával, majd hívjuk meg a függvényt. A függvény kimenete a következő lesz: „Tanulok Python funkció".
A func1() függvényhívás meghívja a def func1() függvényünket, és kiírja a következő parancsot: „Tanulok Python „függvény Nincs.”
Van egy szabályrendszer, Python programozás függvény definiálásához.
- Minden argumentumot vagy bemeneti paramétert ezek közé a zárójelek közé kell helyezni.
- A függvény első utasítása lehet egy opcionális utasítás – a függvény dokumentációs karakterlánca.
- Minden függvényen belüli kód kettősponttal (:) kezdődik, és behúzott (szóköz) karakterekkel kell tagolni.
- A return (kifejezés) utasítás kilép egy függvényből, opcionálisan egy értéket adva vissza a hívónak. Az argumentumok nélküli return utasítás ugyanaz, mint a return None.
A behúzás (Space) jelentősége in Python
Mielőtt megismerkednénk Python függvényeket, fontos, hogy megértsük a deklarálandó behúzási szabályt Python funkciók, és ezek a szabályok más elemeire is vonatkoznak Python valamint, például feltételek, ciklusok vagy változók deklarálása.
Python egy adott behúzási stílust követ a kód meghatározásához. Mivel Python A függvényeknek nincs explicit kezdetük vagy végük, mint például a kapcsos zárójeleknek, amelyek a függvény kezdetét és végét jelzik, ezért erre a behúzásra kell támaszkodniuk. Itt egy egyszerű példát nézünk a „print” paranccsal. Amikor a „print” függvényt közvetlenül a def func1(): sor alá írjuk, akkor a következő hibaüzenetet fogja mutatni: „behúzási hiba: behúzott blokkot vártunk”.
Most, amikor a „print” függvény elé hozzáadjuk a behúzást (szóközt), akkor a várt módon kell kinyomtatnia.
Legalább egy behúzás elég ahhoz, hogy a kódod sikeresen működjön. De ajánlott gyakorlatként körülbelül 3-4 behúzásnyi helyet hagyni a függvény meghívásához.
Az is fontos, hogy a behúzás deklarálása során a kód többi részében is megtartsuk a behúzást. Például az alábbi képernyőképen, amikor egy másik, „still in func1” utasítást hívunk meg, és az nem közvetlenül az első print utasítás alatt van deklarálva, akkor egy behúzási hibát fog kapni: „az unindent nem egyezik semmilyen más behúzási szinttel”.
Most, amikor mindkét utasításra ugyanazt a behúzást alkalmazzuk, és ugyanarra a sorra igazítjuk őket, akkor a várt kimenetet adja.
Hogyan térül meg a függvény?
A visszatérési parancs a Python meghatározza, hogy milyen értéket kell visszaadni a függvény hívójának. Nézzük meg ezt a következő példával.
1. lépés) A függvény nem ad vissza semmit
Itt láthatjuk, hogy egy függvény mikor nem „ad vissza” értéket. Például a 4 négyzetét szeretnénk, és a kód végrehajtásakor „16”-ot kellene adnia. Ezt adja, amikor egyszerűen a „print x*x” kódot használjuk, de amikor a „print square” függvényt hívjuk, „None” értéket ad kimenetként. Ez azért van, mert a függvény meghívásakor nem történik rekurzió, és a függvény végére esik. Python „None” értéket ad vissza, ha a függvény végéről lemarad.
2. lépés) Cserélje le a nyomtatási parancsot egy hozzárendelési parancsra
Hogy ezt világosabbá tegyük, a print parancsot egy értékadó paranccsal helyettesítjük. Ellenőrizzük a kimenetet.
Amikor a „print square (4)” parancsot futtatod, az valójában az objektum értékét adja vissza. Mivel nincs itt semmilyen konkrét függvényünk, amit lefuttathatnánk, a „None” értéket adja vissza.
3. lépés) Használd a 'return' függvényt és futtasd a kódot
Most pedig megnézzük, hogyan kérhetjük le a kimenetet a „return” parancs használatával. Amikor a „return” függvényt használjuk és végrehajtjuk a kódot, a kimenet „16” lesz.
4. lépés) Futtassa a "négyzet nyomtatása" parancsot
Funkciók be Python maguk is tárgyak, és egy tárgynak van valamilyen értéke. Itt meglátjuk, hogyan Python kezel egy objektumot. Amikor a „nyomtassa ki a négyzetet” parancsot futtatja, az objektum értékét adja vissza. Mivel nem adtunk át argumentumot, nincs itt semmilyen konkrét függvényünk, amelyet lefuttathatnánk, ezért egy alapértelmezett értéket (0x021B2D30) ad vissza, amely az objektum helye. Gyakorlatilag Python programot, akkor valószínűleg soha nem lesz szükséged erre.
Érvek a függvényekben
Az argumentum egy érték, amelyet a függvény meghívásakor átadunk neki.
Más szóval, a hívó oldalon ez egy argumentum, a függvény oldalán pedig egy paraméter.
Nézzük meg, hogyan Python az érvek működnek.
Step 1) Az argumentumokat a függvénydefinícióban deklaráljuk. A függvény meghívásakor az alábbiak szerint adhatjuk meg az argumentumok értékeit.
Step 2) Egy argumentum alapértelmezett értékének deklarálásához rendeljünk hozzá egy értéket a függvénydefinícióban.
Példa: x-nek nincs alapértelmezett értéke. Az y alapértelmezett értéke 0. Amikor a szorzófüggvény meghívásakor csak egy argumentumot adunk meg, Python hozzárendeli a megadott értéket x-hez, miközben keeping y=0 értéke. Ezért az x*y=0 szorzata.
Step 3) Ezúttal az alapértelmezett y=0 érték helyett y=2-re változtatjuk az értéket, és a kimenet (4×2)=8 lesz.
Step 4) Azt is megváltoztathatja, hogy milyen sorrendben kerülnek átadásra az argumentumok a PythonItt megfordítottuk az x és y értékek sorrendjét x=4-re és y=2-re.
Step 5) Több argumentum is átadható tömbként. Ebben a példában az (*args) függvény meghívásával hívjuk meg az (1,2,3,4,5) argumentumokat.
Példa: Több argumentumot deklaráltunk (1,2,3,4,5) számként; amikor meghívjuk az (*args) függvényt, a kimenetet (1,2,3,4,5) formátumban írja ki.
Tipp:
- In Python 2.7-es verzióban a függvények túlterhelése nem támogatott. A függvények túlterhelése azt a képességet jelenti, hogy több, azonos nevű metódust hozzunk létre eltérő implementációval. A függvények túlterhelése teljes mértékben támogatott a következő verzióban: Python 3.
- Meglehetősen zavaros a metódusok és a függvények közötti zűrzavar. Metódusok a Python objektumpéldányokhoz vannak társítva, míg a függvényekhez nem. Amikor Python metódus hívásakor az adott hívás első paraméterét a megfelelő objektumhivatkozáshoz köti. Egyszerűen fogalmazva, egy önálló funkció Python egy „függvény”, míg egy függvény, amely egy osztály vagy egy példány attribútuma, „metódus”.
Itt a teljes Python 3 kód
#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))
Itt a teljes Python 2 kód
#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)














