Fájlok írása Pytonban!
Elkészült a Python nyelv Szövegfájlok írása tananyagunk! Jó tanulást, jó gyakorlást!

<info9>

Kódrészletek "újrahasznosítása" - eljárások

Amikor programokat készítünk, gyakran előfordulnak a kódban olyan részek, amiket többször is fel szeretnénk majd használni. Például elkészítünk egy kódrészletet, ami kiírja egy téglalap alakú szoba alapterületét a két oldal hosszúsága alapján:

a = 5
b = 3
terulet = a * b
print("A szoba területe:", terulet)

Ha ezt a kódrészletet többször, vagy több helyen is szeretnénk használni a kódunkban, akkor megírhatjuk többször, vagy lemásolhatjuk -- ennek azonban van néhány komoly hátránya. Egyrészt, amennyiben módosítani szeretnénk valamit ezen a kódrészleten, például módosítani a kiírás szövegét, vagy javítani egy hibát a képletben, akkor azt több helyen is át kell majd írnunk. Máésrészt, a kódunk hossza is hamar megnő - az átláthatósága pedig romlik.

Ezt a problémát megelőzhetjük eljárások használatával. Egy-egy "többször használatos" kódrészletből létrehozhatunk egy eljárást a def kulcsszóval, ezzel lényegében "elnevezve" a kódunk egy részét. Ezt követően pedig ezt az elnevezett kódrészletet a programunkból bárhol elérhetjük, és végrehajthatjuk.

Eljárás létrehozása Python nyelvben

Ezt az eljárást aztán később a kódunkban az alábbi módon érhetjük el:

print("NAPPALI")
szoba_terulet(5,3)
print("HÁLÓSZOBA")
szoba_terulet(3,3)

Ennek a kódnak a kimenete:

NAPPALI
A szoba területe: 15
HÁLÓSZOBA
A szoba területe: 9

Ezzel lényegében egy új utasítást tanítottunk meg a Pythonnak, amit ezen az egy programon belül bárhányszor újrahasznosíthatunk. Hogy jobban megérthessük az eljárások működését, érdemes áttekinteni az alábbi kódrészletet:

def miau(): print("Miau!") print("A fekete cica azt mondja:") miau() print("A kék cica azt mondja:") miau() [ { "steps": [1], "variables": [ ], "hint": "A program futása itt kezdődik - mivel fentebb csak eljárásokat hoztunk létre, ezek pedig csak akkor fognak elfutni, amikor meghívjuk őket."}, { "steps": [1], "variables": [ ], "hint": "Kiírjuk a konzolra a feliratot.", "console":"A fekete cica azt mondja:"}, { "steps": [2], "variables": [ ], "hint": "Meghívjuk a miau eljárást. A program odaugrik a miau eljáráshoz, és lefuttatja azt.", "console":"A fekete cica azt mondja:"}, { "steps": [0], "variables": [ ], "hint": "A miau() eljárás kiírja a Miau! feliratot a konzolra.", "console":"A fekete cica azt mondja:\nMiau!"}, { "steps": [3], "variables": [ ], "hint": "Miután a Miau eljárás végetért, a program folytatódik, kiírjuk a következő feliratot is a konzolra.", "console":"A fekete cica azt mondja:\nMiau!\nA kék cica azt mondja:"}, { "steps": [4], "variables": [ ], "hint": "Meghívjuk a miau eljárást. A program odaugrik a miau eljáráshoz, és lefuttatja azt.", "console":"A fekete cica azt mondja:\nMiau!\nA kék cica azt mondja:"}, { "steps": [0], "variables": [ ], "hint": "A miau() eljárás kiírja a Miau! feliratot a konzolra.", "console":"A fekete cica azt mondja:\nMiau!\nA kék cica azt mondja:\nMiau!"}, { "steps": [4], "variables": [ ], "hint": "A miau() eljárás véget ért. Mivel további utasítás nincs, a programnak vége.", "console":"A fekete cica azt mondja:\nMiau!\nA kék cica azt mondja:\nMiau!"} ]

Előfordulhat, hogy egy eljárásnak semmilyen információra nincs szüksége a működéséhez - mint az előző, macskás példában. Fontos azonban, hogy a zárójeleket az eljárás neve mögött ez esetben is ki kell tennünk, hiszen ebből látható, hogy itt nem egy változóról, hanem egy eljárásról (vagy függvényről - ezekről később írunk) van szó. Ha viszont egy olyan eljárást készítenénk, amiv alamilyen adatokat használ fel, akkor itt vehetjük fel azokat a változókat, amikre az eljárásnak szüksége van a feladata elvégzéséhez.

Hová helyezzük az eljárásokat?

Ahhoz, hogy valamilyen tudást használni tudjunk, először meg kell azt tanulnunk. Gyermekként nem tudtunk szorozni egészen addig, ameddig meg nem tanultuk azt -- vagy éppen programozni sem tudtunk addig, ameddig el nem sajátítottuk. Ez nincs másként a Python világában sem -- csak azokat az eljárásokat tudjuk használni a kódunk egy adott pontján, amiket addigra már "megtanítottunk". Ennek okán érdemes az eljárásokat a kód elején létrehozni, mint ahogy a fentebbi példában is láthattuk.

Ahhoz, hogy szép és átlátható kódot készíthess, ismerd meg az eljárások "testvéreinek", a függvényeknek a működését is a következő fejezetben!