Python: változók

Programozás Python

Kezdjük a kommentekkel, még mielőtt belemélyednénk a változók használatába. A kommentek hasznosak, mert segítik a későbbi munkánkat, könnyebb rájönni mit, miért csináltunk mikor megírtunk egy programot. A komment jele a #. Alapvetően minden sor elé ki kell írni, ahová kommentet írunk. Esetleg használhatjuk a tripla idézőjelet több soros kommenthez. Nyilván nem kell kisregényt írni, nem erről szól.

#Ez itt egy komment például. A következő sor egy kiíratás:
print("Üdvözöllek, ez egy Python példa program")

Mi az a változó? Egy azonosítóval (névvel) ellátott adattároló. Alapvetően azért változó, mert változhat az értéke programunk futása közben. Természetesen nem ennyire egyszerű, a változóknak több típusa is van.

A Pythonban nem kell deklarálni a változót. (névhez típust rendelni) Elég neki értéket adni. pl: x=5 vagy nev=”tesztelek”. A Python egy dinamikusan tipizált nyelv. Ez azt jelenti, hogy a változó típusa a hozzárendeléskor dől el, és az int(), str(), float(), stb. beépített függvények arra szolgálnak, hogy egy már létező értéket átalakítsanak egy másik típussá.

#változók
a=5
nev="Teszt Elek"
#lehet egyszerre többet is:
b,c=6,7
_vezeteknev, _keresztnev="Kovács", "Béla"
#lehet több változónak ugyanaz az értéke
i=j=k=2022
#adhatunk típust is
x=int(2022)
y=int(1990)
szoveg=str(Ez egy szöveg)
#felül is írhatjuk az értékület
a=10
#értékük kiíratása
print(a)
print(szoveg)

Változók elnevezésének szabályai

  • aláhúzással vagy betűvel kell kezdőnie, kis és nagybetűket, számokat tartalmazhat. Hagyományosan nem használunk ékezetes betűket, mert az informatika nyelve az angol.
  • nem kezdődhet tehát számmal, egyéb írásjellel
  • megkülönbözteti a kis és nagybetűket, ezzel lehet szívni ha valaki nem figyel rá
  • hagyományosan a következő módszereket használjuk:

Kiíratáshoz a print() függvényt használjuk. Még később visszatérünk rá.

Konstansok elnevezése (bár a Pythonban nincs külön ilyen típus) Konstansnak azokat a változókat tekintjük, amelyek értékét a program futása közben nem szabad megváltoztatni. A konvenció szerint a konstansok nevét csupa NAGYBETŰVEL és aláhúzással (snake case) írjuk.
PI_ERTEKE = 3.14159
MAX_ELEM_SZAM = 100

Változó törlése: del A del csak a nevet törli. Maga az objektum addig marad a memóriában, amíg a Python szemétgyűjtője (Garbage Collector) el nem távolítja, mert már semmilyen név nem hivatkozik rá.

Globális és lokális változók

Alapvetően egy változó globális, azaz bárhol használható a programon belül. Tehát ki tudjuk olvasni a tartalmát, vagy meg tudjuk változtatni.

Ha egy változót például egy függvényen belül hozunk létre, az egy lokális változó lesz, csak a függvényen belül fog létezni. Tehát ha van egy globális változóm, és egy ugyanolyan nevűt használok egy függvényben és még értéket is adok neki, az új értéket csak a függvényen belül veszi fel, azon kívűl a korábbi értéket fogja tárolni. Ha mégis változtatni akarunk rajta akkor a global kulcsszóval tehetjük meg. Nézzük meg a következő példákat:

#Létrehozok egy Valtozo nevű változót. Később a függvényben megpróbálom módosítani
Valtozo = "érthető"
def peldafuggveny():
  Valtozo = "egyszerű"
  print("A Python programozás " + Valtozo)
#függvény futtatása
peldafuggveny()
#amint látjuk a Valtozo értéke megmaradt az eredeti
print("Eredeti értéke " + Valtozo)
#létrehozok egy másik függvényt, amiben használom a global kulcsszót
def peldafuggveny2():
  global Valtozo#tehát itt megmondom neki, hogy a globális változót akarom használni
  Valtozo = "egyszerű"
  print("A Python programozás " + Valtozo)
peldafuggveny2()
print("Eredeti értéke: " + Valtozo)

A függvényekről később lesz még szó. Alapvetően a függvény egy azonosítóval (névvel) ellátott utasítás sorozat, amit többször is felhasználhatunk, ezáltal segíti programunk hatékonyságát, áttekinthetőségét. A nevével lehet lefuttatni.

Változók típusai

Ahogy már említettem, a változók különféle típusú adatokat tárolhatnak. A típusokra mindig figyelni kell!

  • szöveges típus: str
  • numerikus típus: int (egész számok, lehet pozitív és negatív), float (tizedes tört, lehet pozitív és negatív), complex
  • felsorolás: lista, tuple, range
  • szótár: dict
  • logikai típus: bool
  • halmaz: set, frozenset
  • bináris típus: bytes, bytearray, memoryview
  • nincs típus: NoneType

Hogyan tudjuk lekérdezni egy változó típusát? print(type(ValtozoNeve))
Miért? Mert nem mindig egyértelmű. pl: ha egy számot stringként veszek fel. szam=str(2022) Sima print utasítással 2022-t ír ki, pedig az nem szám, nem lehet matematikai műveletet végezni vele ebben az esetben!

isinstance() A Python isinstance() függvény arra való, hogy ellenőrizzük, hogy adott objektum egy bizonyos osztály vagy annak alosztálya (leszármazottja) példánya-e. Ezekről később lesz szó, de azért megemlítem itt is.

Az egyes típusokat át tudjuk alakítani más típusúra.

A Python dinamikusan típusos nyelv, de a modern kódolási gyakorlatban javasolt a típusmegjelölések (type hints) használata. Ez segít az olvashatóságban, és támogatja a fejlesztői környezeteket (IDE-ket) a hibák jelzésében.Nem kötelező és nem is érvényesít típuskorlátot, de jelzi a szándékolt típust.

Adatok kiíratása

Visszatérve a Print függvényre. Amint láttuk használata a következőképpen működik: zárójelben megadjuk, mit szeretnénk kiíratni. Ez lehet egy változó, szöveg, szám, változó típusa… Alapvetően ha nem akartuk, hogy összeérjenek a szövegek, tettünk szóközt ide-oda. Ezt egyszerűbben a sep paraméterrel tehetjük meg. Sortörést a /n paraméterrel tudunk csinálni, de alap esetben a print() mindig sortörést csinál az adatok kiírása után. Ha szeretnénk ezt megváltoztatni, használjuk az end paramétert. pl: end=” ”

print("egy","kettő","három",sep=" ") #egy kettő három

A legjobb megoldás a stringek formázására az F-stringek (Formatted String Literals). Python 3.6-tal került bevezetésre. Felváltotta a régebbi % és a format() metódus használatát is

Adatbevitel

Adatokat az input() függvénnyel tudunk bekérni a konzolról. A input() megállítja a program futását, és megvárja, amíg a felhasználó beír egy sort, majd lenyomja az Enter billentyűt. A függvény opcionálisan egy string argumentumot is fogadhat. Ez a string szolgál promptként (felszólításként), ami megjelenik a felhasználó számára, jelezve, hogy mit vár tőle a program. Bármit is ír be a felhasználó (legyen az szám, betű, vagy bármilyen karakter), a input() függvény mindig egy string (szöveg) típusú értéket ad vissza. Ha számokkal akarsz dolgozni, a beolvasott stringet konvertálni kell (típuskonverzióval)!

Szintaxis: valtozo = input("Prompt szövege: ")

Például kérjünk be egy nevet, és üdvözöljük!

nev=input("Kérek egy nevet!")
print("Üdvözöllek",nev,sep=" ")

Nézzünk egy egyszerű példát! Számoljuk ki egy téglalap területét, kerületét!

a = int(input("Kérem az a oldalt! "))
b = int(input("Kérem a b oldalt! "))
t = a * b
k = 2 * ( a + b )
print("Kerület: ",k,"Terület: ",t)

Hibakezelés (Error Handling)
Mivel a felhasználók bármit beírhatnak, amit csak akarnak, mindig érdemes hibakezelést (try…except) használni, különösen a típuskonverziók környékén. Ha például a felhasználó beírja, hogy „tíz”, de a program int(input(…)) parancsot vár, akkor a program ValueError hibával leáll.

Frissítve: 2025.10.09.