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.
1 2 |
#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”. Természetesen itt is van lehetőség típus megadására, hogy most az a változó egész számot, szöveget stb. fog tárolni.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
#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) |
A változónak nem lehet akármilyen nevet adni, nézzük a megkötéseket:
- 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:
- Camel case: ezEgyValtozoNeve
- Pascal case: EzEgyValzotoNeve – tehát egybe írjuk, nagy kezdőbetűvel
- Snake case: ez_egy_valzoto_neve – aláhúzással, kisbetűvel
Kiíratáshoz a print() függvényt használjuk. Még később visszatérünk 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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
#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!
Az egyes típusokat át tudjuk alakítani más típusúra.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#átalakítás int >> float: x = float(2022) #float >> int: ilyenkor egészre fog kerekíteni y = int(2.8) #int >> complex: z = complex(1) #írassuk ki őket print(x) print(y) print(z) #nézzük meg végül melyik milyen típus! print(type(x)) print(type(y)) print(type(z)) |
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=” ”
1 |
print("egy","kettő","három",sep=" ") #egy kettő három |
Adatbevitel
Adatokat az input() függvénnyel tudunk bekérni. Például kérjünk be egy nevet, és üdvözöljük!
1 2 |
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!
1 2 3 4 5 |
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) |