MENÜ

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:

  1. A program futása a 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.
  2. Kiírjuk a counter értékét.
  3. counter változ értékét növeljük 1-el. Ez nagyon fontos.
  4. Véget ért a blokk, vissza ugrunk a while sorára.
  5. 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:

  1. 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.
  2. A blokkon kívüli forráskóddal folytatódik a program.

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:

for ciklus feje két részből tevődik össze:

  1. 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.
  2. Az 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ó...:

 

A range

Levezetésnek bemutatnám a range-et. Ez a függvény szám-intervallumok generálására való.

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.

 

 

Asztali nézet