A Python-függvények alapjai

Befejeződött

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 .outputNone 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'