Először is... Mi a különbség a metódus és a függvény között. Rövidenösszefoglalva egyetlen szó: "Return". A függvényeket úgy kell elképzelni, mint olyan program részeket, amit többszőr elhelyez az ember a programjába. A program részek lehetnek a fájlba, vagy akár külső fájlba. Néha nem is kell tudni a program működését egy összetettebb fügvény esetében, hanem a program részlet készítője megadja a bemeneti értékeket és a kimenetre várható értéket.
Jelen példákban nem azt tartottam szem előtt, hogy egy igazán pontosan használható programrészeket készítsek, ami pontosan használható, hanem a viselkedést kívántam bemutatni:
def elso():
print("elso")
elso()
elso()
Egy igazi metódussal kezdünk, mert nincs sem bemeneti értéke, sem visszatérési értéke. A program futása során kétszer kiírja, hogy első.
def masodik(atment):
print(atment)
masodik(4)
Szintén metódus példát láthatunk. Van bemeneti értéke, de nincs visszatérési értéke. A függvényben bármilyen műveleteket végrehajthatnánk, de ebben az esetben csak a kapott négyes számot eltárolja a metódusban létező atmenet változóba, ahonnan kiíratja.
def harmadik():
return "visszament"
print(harmadik())
Harmadik példa már igazi függvény. Bemeneti érték nincs, de a meghívás után bármikor a return szó mögötti értékekkel visszatér. Ebben az esetben a visszament szót adja vissza, de ezt a fő programban meg kell jeleníteni.
def negyedik(elso,masodik):
return elso+masodik
print(negyedik(5,3))
Az utolsó példa pedig, újra egy függvény, aminek nem egy, hanem két bemeneti értéke van. Visszatérés előtt a függvény összeadja a két számot. A főprogramba kell gondoskodni a visszatért érték megjelenítésén. Természetesen a függvény hívásakor a zárójelben átadott értéket adja össze. Ha mellétesszük, hogy bármenyiszer meg lehet hívni, akkor érezhetjük, hogy megnyilt előttünk a lehetőségek tárháza.