A Python-függvények alapjai
A Függvények a Következő lépés a Python programozási alapjainak elsajátítása után. A függvény a legegyszerűbb formájában olyan kódot tartalmaz, amely mindig egy értéket (vagy értéket) ad vissza. Bizonyos esetekben a függvények opcionális vagy kötelező bemenetekkel is rendelkeznek.
Amikor elkezd olyan kódot írni, amely a program más részeit duplikálja, az tökéletes lehetőséget kínál a kód egy függvénybe való kinyerésére. Bár a közös kód függvényeken keresztüli megosztása hasznos, a kód méretét úgy is korlátozhatja, hogy az alkatrészeket kisebb (olvashatóbb) függvényekké bontja ki.
Azok a programok, amelyek elkerülik a duplikálást, és kisebb függvények használatával megakadályozzák a nagy függvényeket, olvashatóbbak és karbantarthatók. Könnyebben hibakeresést is végezhetnek, ha a dolgok nem működnek jól.
A függvénybemenetekre vonatkozó számos szabály kritikus fontosságú ahhoz, hogy teljes mértékben kihasználhassa a függvények által kínált lehetőségeket.
Fontos
Bár a kifejezés bemenetét használjuk annak leírására, hogy milyen függvények kerülnek be, ezeket az elemeket általában argumentumoknak vagy paramétereknek nevezzük. A modul konzisztenciájához argumentumként hivatkozunk a bemenetekre.
Argumentumok nélküli függvények
Függvény létrehozásához használja a def
kulcsszót, majd egy nevet, zárójelet, majd a függvénykódot tartalmazó törzset:
def rocket_parts():
print("payload, propellant, structure")
Ebben az esetben rocket_parts
a függvény neve. Ezt a nevet az üres zárójelek követik, amelyek azt jelzik, hogy nincs szükség argumentumokra. Az utolsó a négy szóközzel behúzott kód. A függvény használatához zárójelek használatával kell meghívnia a nevét:
rocket_parts()
payload, propellant, structure
A rocket_parts()
függvény nem vesz fel argumentumokat, és utasítást nyomtat ki. Ha egy függvény által visszaadott értéket kell használnia, hozzárendelheti a függvény kimenetét egy változóhoz:
output = rocket_parts()
payload, propellant, structure
output is None
True
Meglepőnek tűnhet, hogy a változó értéke .output
None
Ennek az az oka, hogy a rocket_parts()
függvény nem adott vissza explicit módon értéket. Pythonban, ha egy függvény nem ad vissza explicit módon értéket, implicit módon visszaadja None
. Ha a függvényt úgy frissíti, hogy a sztringet adja vissza nyomtatás helyett, akkor a output
változó értéke eltérő lesz:
def rocket_parts():
return "payload, propellant, structure"
output = rocket_parts()
output
payload, propellant, structure
Ha egy függvény értékét kell használnia, annak explicit módon kell visszaadnia. Ellenkező esetben a None
függvény visszaadja.
Feljegyzés
Nem kell mindig hozzárendelnie egy függvény visszatérését. A legtöbb esetben, amikor egy függvény nem ad vissza explicit módon értéket (vagy értékeket), az azt jelenti, hogy nem kell hozzárendelnie vagy használnia a visszaadott implicit None
értéket.
Kötelező és nem kötelező argumentumok
A Pythonban számos beépített függvényhez argumentumok szükségesek. Egyes beépített függvények nem kötelezővé teszik az argumentumokat. A beépített függvények azonnal elérhetők, ezért nem kell explicit módon importálnia őket.
Példa egy olyan beépített függvényre, amely argumentumot any()
igényel. Ez a függvény egy iterátert (például egy listát) vesz fel, és visszaadjaTrue
, ha az iteráló elem bármelyik eleme.True
Ellenkező esetben a visszaadott False
érték.
any([True, False, False])
True
any([False, False, False])
False
Ha argumentumok nélkül hív, a rendszer any()
hasznos kivételt okoz. A hibaüzenet azt ismerteti, hogy legalább egy argumentumra van szüksége:
any()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: any() takes exactly one argument (0 given)
Ellenőrizheti, hogy egyes függvények engedélyezik-e az opcionális argumentumok használatát egy másik, úgynevezett beépített függvény str()
használatával. Ez a függvény egy karakterláncot hoz létre egy argumentumból. Ha nem ad át argumentumot, az üres sztringet ad vissza:
str()
''
str(15)
'15'