Változók és adattípusok
Ha úgy érzed, hogy elakadtál, és több segítségre van szükséged, keress bizalommal! Kedvező árú magánórák keretében szívesen segítek elsajátítani a programozás alapjait.
Magánóra ajánlatokAhhoz, hogy adatokkal tudjunk dolgozni (például bekérni a felhasználótól számokat, és azokból számolni, stb.), először le kell tárolnunk, "meg kell jegyeznünk" azokat. Erre a célra a programozásban változókat használunk. Egy változót elképzelhetünk úgy, mint egy kis felcímkézett dobozt, aminek van egy neve ami alapján be tudjuk azonosítani, és bele tudunk tenni különféle információkat - egy számot, vagy éppen egy szöveget. Ezt a beletett információt pedig később a változó neve alapján ismét elérhetjük ("megkeressük a polcon a dobozt, és megnézzük, hogy mi van benne").
Változók létrehozása
Ahhoz, hogy létrehozzunk egy változót, először ki kell találnunk neki egy nevet. Fontos, hogy a változók neve nem tartalmazhat szóközt, és érdemes mellőzni az ékezetes betűk használatát is. Ezen felül a változó neve nem kezdődhet számmal sem - de később tartalmazhat számot, tehát például az 1nev NEM megfelelő, de a nev1 már igen.
Bár elvileg bármi lehet egy változó neve, az elnevezéskor érdemes arra törekedni, hogy a név könnyen beazonosítható legyen, hogy néhány kódsorral lentebb is tudjuk, hogy vajon mire is használtuk. Ez később nekünk is nagy segítség, és ha valakitől segítséget kérünk, akkor ő is jobban átlátja majd, hogy mit is csinál a kódunk. Néhány példa változók praktikus elnevezésére:
- Egy változó amiben a felhasználó nevét tároljuk lehet például nev, esetleg teljesNev vagy felhasznalonev
- Egy változó amiben egy ház magasságát tároljuk lehet például magassag
- Egy változó amiben a felhasználó születési évét tároljuk lehet például szulEv, esetleg szuletett
Ezek természetesen csak példák. Ahhoz, hogy egy változóban elhelyezzünk egy értéket, az = operátort kell használnunk. Az egyenlőségjel operátor azt, ami a jobb oldalán áll, fogja beletenni abba, ami a bal oldalán áll -- tehát a bal oldalán (azaz "előtte") kell megadnunk a "dobozt", például a változónk nevét, a jobb oldalán (azaz "utána") pedig az értéket, amit bele szeretnénk tenni. A Python nyelvben a változókat külön létrehozni nem szükséges - amint először beleteszünk egy értéket, a változó magától "megszületik", ha pedig új értéket teszünk bele, úgy az értéke természetesen megváltozik (hiszen egy dobozban csak egy információ fér el egyszerre). Nézzünk egy példát egy változó létrehozására és módosítására:
nev = "Ferenc"
print(nev)
nev = "Sándor"
print(nev)
[
{ "steps": [0], "variables": [{"name":"nev","value":"Ferenc"}], "hint": "Létrehozunk egy nev nevű változót, amelynek az értéke Ferenc lesz. (a változó értékét efölött a doboz fölött követheted)"},
{ "steps": [1], "variables": [{"name":"nev","value":"Ferenc"}], "hint": "Kiírjuk a konzolra a nev változó értékét, azaz a Ferenc szót.", "console":"Ferenc"},
{ "steps": [2], "variables": [{"name":"nev","value":"Sándor"}], "hint": "A nev változónak új értéket adunk, így mostantól a Sándor szó szerepel benne.", "console":"Ferenc"},
{ "steps": [3], "variables": [{"name":"nev","value":"Sándor"}], "hint": "Kiírjuk a konzolra a nev változó értékét, azaz a Sándor szót.", "console":"FerencSándor"} ]
Adattípusok
Természetesen a programunk nem csak szövegekkel tud dolgozni - gyakran számokat, vagy más adatokat is le kell tárolnunk, és ezekben az esetekben elengedhetetlenül fontos a megfelelő adattípus használata - hiszen számolni például csak számokkal tudunk, szövegekkel nem. A megfelelő adattípus használatáról gondoskodni pedig természetesen szintén a mi feladatunk!
A python egy szigorúan és dinamikusan típusos nyelv.
- szigorúan, azaz ha két különböző típusú adatot összehasonlítunk, vagy egy szöveggel megpróbálunk valamilyen matematikai műveletet végezni, a Python nem fogja automatikusan átkonvertálni az adott információt -- a adattípusok kezelése minden esetben a programozó feladata
- dinamikusan, azaz egy változónak ("doboznak") az adattípusát menet közben is megváltoztathatjuk - egy dobozba tehetünk egyszer egy számot, aztán később egy szöveget, nem kell előre eldöntenünk, hogy mi az adott doboz adattípusa - ez az adatok beleírásakor változhat
Az alábbi táblázat összefoglalja a python nyelv legfontosabb 4 egyszerű adattípusát. Ennél természetesen jóval több komplex adatszerkezet is létezik a nyelvben, mint a listák, vagy a szótárak, de ezekkel külön fejezetekben foglalkozunk, most ismerjük meg a 4 fontosabb alaptípust:
| Adattípus neve | Leírás (felhasználás) | Konvertálás | Létrehozás, használat |
|---|---|---|---|
| str (string) | szöveg (pl.: név, lakcím, rendszám, stb.) |
str(23) | szov = "alma" |
| int (integer) | egész szám (pl.: születési év, darabszám, stb.) |
int("12") | egesz = 12 |
| float | tört szám (pl.: két oldal hosszának az aránya) |
float("3.14") | tort = 3.4 |
| bool (boolean) | logikai érték (csak igaz vagy hamis lehet - pl.: befizette-e már a képzés díját) |
bool("True") | logikai = True |
Mivel a python nyelv dinamikusan kezeli a típusokat, így egy változó frissítésekor annak adattípusa is megváltozhat:
nev = "Ferenc"
print(nev)
nev = 3.14
print(nev)
nev = 29
print(nev)
[
{ "steps": [0], "variables": [{"name":"[str] nev","value":"Ferenc"}], "hint": "Létrehozunk egy nev nevű változót, amelynek az értéke Ferenc szó lesz, szövegként. (a változó értékét és típusát efölött a doboz fölött követheted)"},
{ "steps": [1], "variables": [{"name":"[str] nev","value":"Ferenc"}], "hint": "Kiírjuk a konzolra a nev változó értékét, azaz a Ferenc szót.", "console":"Ferenc"},
{ "steps": [2], "variables": [{"name":"[float] nev","value":"3.14"}], "hint": "A nev változónak új értéket adunk, így mostantól 3.14 lesz benne, tört számként (float).", "console":"Ferenc"},
{ "steps": [3], "variables": [{"name":"[float] nev","value":"3.14"}], "hint": "Kiírjuk a konzolra a nev változó értékét, azaz a 3.14-et.", "console":"Ferenc3.14"}, { "steps": [4], "variables": [{"name":"[int] nev","value":"29"}], "hint": "A nev változónak új értéket adunk, így mostantól a 29 lesz benne,e gész számként.", "console":"Ferenc
3.14"}, { "steps": [5], "variables": [{"name":"[int] nev","value":"29"}], "hint": "Kiírjuk a konzolra a nev változó értékét, azaz a 29-et.", "console":"Ferenc
3.14
29"} ]
Egy adat adattípusát a type függvény segítségével kérhetjük le:
nev = "Ferenc"
print(type(nev))
Próbáld ki!
Próbáld ki magad is! Nézd át a cikkünkhöz tartozó mintakódot - szerkeszd és futtasd közvetlenül a böngésződben, az info9
LineFlame fejlesztőeszközével!