Python programozás alapjai
Ciklusok:
A programozási nyelvekben a ciklus (loop) azt jelenti, hogy a számítógép valamilyen feltétel függvényében egy blokknyi kódot folyamatosan újra és újra lefuttat. A Python nyelvben kétféle ciklus létezik: a while és a for.
A while ciklus:
A while(amíg) utasítás klasszikusan valósítja meg azt a definíció-szerűséget, amivel ezt a fejezetet bevezettem: addig futtatja a blokkjában szereplő kódot, amíg a neki adott kifejezés logikailag igaz értékű. Lássuk az ide vágó példát is: írjuk ki a számokat 1-10-ig.
Az 1. sorban megadtuk a counter
változót 1
értékkel. A 2. sor az érdekes: a while
melletti feltételétől függ, hogy meddig kell a while
blokkját ismételtetni. Ezt magyarul bentmaradási feltételnek szokták hívni.
Nézzük lépésenként hogy mi történik innentől:
while counter <= 10
-re került. Itt a counter
értéke 1
, így a kifejezés egyenlő a 1 <= 10
-el, ami True
-ra értékelődik ki. Így belépünk a blokkba.counter
értékét.counter
változ értékét növeljük 1-el. Ez nagyon fontos.while
sorára.counter
értéke most már 2
, így a kifejezés egyenlő a 2 <= 10
-el, ami True
-ra értékelődik ki. Így újra belépünk a blokkba.Ez egészen addig fut, amíg a counter
el nem éri a 11-et, akkor ugyanis:
counter
értéke 11, így a kifejezés egyenlő 11 <= 10
-el, ami False
-ra értékelődik ki, így nem lépünk be a blokkba.Látható volt, hogy a while
kifejezése még ez előtt kiértékelődött mielőtt beléptünk volna újra a blokkba. Ezért nem jelent meg a 11 a konzolban. A ciklust e tulajdonsága miatt előltesztelő ciklusnak hívják. Azt amikor egyszer lefut a ciklus blokkja iterációnak (iteration) hívják.
A while ciklusról még...:
A for ciklus:
A for ciklus a Python programozási nyelvben úgynevezett iterálható objektumok bejárására való. Azok az objektumok amiken értelmezve az index operátor általában iterálatóak is. Ilyen a list
, a dict
és a str
is.
Írjuk ki egy tömb elemeit for
ciklussal:
A for
ciklus feje két részből tevődik össze:
for
és in
között szerepel annak a változónak (vagy változóknak!) a neve, amin keresztül el akarjuk érni az aktuális elemet (ez a példában a name
nevet kapta). Itt nem szerepelhet másféle kifejezés.in
után következik az objektum neve (vagy tetszőleges kifejezés), amit iterálunk (a példában ez a people
változó)Iteráljunk egy olyan listát
, ami listákat tartalmaz:
A képernyőn kis két elemű tömbök jelennek meg, tehát a for
nem mászik bele a belső tömbökbe.
A Pythonban lehetőség van rá, hogy egy tömb elemeit egy sornyi változóba kicsomagoljuk, ez az unpacking. A módszer a következő:
Így az első iterációban a [1990, 'Alice']
-ból az 1990
-et a year
, az 'Alice'
-t pedig a name
változóba vezethetjük, és így tovább a későbbi iterációk során.
Még egy kis videó...:
Levezetésnek bemutatnám a range
-et. Ez a függvény szám-intervallumok generálására való.
A while
-os példában többször is használtuk a counter
változót, amit deklarálni és növelni kellett, más különben nem működött volna a ciklusunk normálisan. Ha ilyen számlálós ciklusokat akarunk írni, akkor a for
-ral és a range
-dzsel gyorsan és kényelmesen letudhatjuk a problémát.
Írjuk ki így a számokat 1-10-ig:
Igen, ennyi az egész:)
Lezárásnak:
Azt, amikor olyan programot írunk, amiben egymást követő utasítások, elágazások és ciklusok vannak, struktúrált programozásnak nevezik. Python nyelv más stílusú programozást is támogat, mint pl.: a funkciónálist vagy az objektum-orientáltat. Azzal viszont hogy idáig eljutottunk, nem csak a Python, de a legtöbb programozási nyelv alapjait is megismertük.