Python adattípusok

A programokban különböző fajta adatokat használunk.

Például egy név szöveg, egy életkor egész szám, egy átlag pedig tizedes szám lehet.

Pythonban az adatokat adattípusokba soroljuk. Az adattípus meghatározza, hogy az adott adat milyen értékeket tartalmazhat, és milyen műveleteket végezhetünk vele.

1. Mi az adattípus?

Nézzük meg az alábbi változókat!:

nev = "Anna" # szöveg (`str`) kor = 16 # egész szám (`int`) atlag = 4.5 # tizedes szám (`float`) tanulo = True # logikai érték (`bool`)

A négy változó négy különböző típusú adatot tartalmaz.

A Python dinamikusan típusos programozási nyelv. Ez azt jelenti, hogy a változó típusát nem kell előre megadnunk, a Python futás közben az érték alapján kezeli azt.

x = 10

Az x változó így int típusú lesz.

Ha később más értéket adunk neki:

x = "Hello"

akkor ugyanaz a változó már str típusú adatot tartalmaz.

2. A változó típusának lekérdezése

A változó típusát a type() függvénnyel kérdezhetjük le.

x = 25 print(type(x))

Eredmény:

<class 'int'>

Ez azt jelenti, hogy az x változó típusa int.

Néhány további példa:

a = 12 b = 3.14 c = "Python" d = True print(type(a)) # Eredmény: <class 'int'> print(type(b)) # Eredmény: <class 'float'> print(type(c)) # Eredmény: <class 'str'> print(type(d)) # Eredmény: <class 'bool'>

Típus vizsgálata isinstance() segítségével

Ha nemcsak ki szeretnénk íratni a típust, hanem azt szeretnénk megvizsgálni, hogy egy változó egy adott típusú-e, akkor az isinstance() függvény használható:

x = 42 print(isinstance(x, int)) # Eredmény: True print(isinstance(x, str)) # Eredmény: False

📌 Röviden:

Megjegyzés: a type() eredménye általában egy úgynevezett osztályt (class) ad vissza, ezért látjuk például azt, hogy <class 'int'>.

3. Alapvető Python-adattípusok:

Típus Jelentése Példa
int egész szám 42
float lebegőpontos szám 3.14
str szöveg "Hello"
bool logikai érték True

Egész szám – int

Az int az egész számok adattípusa.

Például:

kor = 16 pontszam = 85 homerseklet = -5

Ezek mind int típusú értékek.

Műveletek egész számokkal

a = 10 b = 3 print(a + b) # összeadás -> Eredmény: 13 print(a - b) # kivonás -> Eredmény: 7 print(a * b) # szorzás -> Eredmény: 30 print(a / b) # osztás -> Eredmény: 3.33333 print(a // b) # egészrészes osztás -> Eredmény: 3 print(a % b) # maradék -> Eredmény: 1 print(a ** b) # hatványozás -> Eredmény: 1000

💡 Fontos: A / osztás eredménye Pythonban általában float.

Lebegőpontos szám – float

A float tizedes számok tárolására használható.

Például:

pi = 3.14 atlag = 4.5 homerseklet = -2.7

❗ A tizedesjel Pythonban pont, nem vessző!

Szöveg – str

A str a szöveges adatok típusa.

Például:

nev = "Anna" varos = "Budapest" uzenet = "Hello, világ!"

❗ A szöveget idézőjelek közé kell tenni.

Használhatunk egyszeres:

nev = 'Anna'

vagy dupla idézőjelet:

nev = "Anna"

A két megoldás között ebben az esetben nincs lényeges különbség.

Műveletek szöveggel

Szövegek összefűzése

A + operátorral szövegeket fűzhetünk össze.

vezeteknev = "Kiss" keresztnev = "Anna" nev = vezeteknev + " " + keresztnev print(nev) # Eredmény: Kiss Anna

Szöveg hossza

A len() függvénnyel megkaphatjuk egy szöveg hosszát.

nev = "Anna" print(len(nev)) # Eredmény: 4

Karakterek elérése

A szöveg karakterei indexelhetők. Az első karakter indexe 0.

szoveg = "Python" print(szoveg[0]) print(szoveg[1]) print(szoveg[5])

Eredmény:

P y n

Logikai típus – bool

A bool típusnak két lehetséges értéke van:

Például:

felnott = False vizsgazott = True kor = 20 print(kor>=18) # Eredmény: True print(kor==18) # Eredmény: False

A logikai értékeket gyakran feltételekben használjuk.

None – nincs érték

A Pythonban a None azt jelenti, hogy nincs érték.

eredmeny = None print(type(eredmeny)) # Eredmeny: <class 'NoneType'>

A None nem ugyanaz, mint:

0

és nem ugyanaz, mint:

""

💡 A None azt fejezi ki, hogy nincs jelen érték. Tehát a None nem ugyanaz mint a 0 vagy mint a "".

Például:

eredmeny = None if eredmeny is None: print("Még nincs eredmény.")


Adatok beolvasása a felhasználótól - Input()

A programok gyakran nemcsak előre megadott adatokkal dolgoznak, hanem adatokat kérnek a felhasználótól.

A felhasználótól adatokat az input() segítségével kérhetünk.

nev = input("Mi a neved? ") print("Szia, " + nev + "!")

Mit csinál:

  1. Kiírja: Mi a neved?
  2. Megvárja, hogy beírd a választ (pl. Péter)
  3. Eltárol egy változóban (nev)
  4. Folytatja a programot

❗ Fontos: input() mindig szöveg!


Gyakorló feladatok

1. feladat – Név bekérése

Kérd be a felhasználó nevét, majd köszöntsd!

Példa:

Mi a neved? Anna Szia, Anna!

2. feladat – Név és lakóhely

Kérd be:

Ezután írd ki:

Szia, Anna! Te Budapesten laksz.

3. feladat – Kedvenc tantárgy

Kérd be a tanuló:

Írd ki egy mondatban!

Mi a neved? Péter Mi a kedvenc tantárgyad? informatika Péter kedvenc tantárgya az informatika.

4. feladat – Kedvenc étel

Kérd be a felhasználó:

Írd ki ezeket egy mondatban!

5. feladat – Bemutatkozás

Kérd be:

A program készítsen egy rövid bemutatkozást!

Példa:

Mi a neved? Anna Hol laksz? Szeged Mi a kedvenc színed? kék Mi a kedvenc állatod? kutya Bemutatkozás: A nevem Anna. Szegeden lakom. A kedvenc színem a kék. A kedvenc állatom a kutya.

6. feladat – Iskolai adatok

Kérd be:

Ezután jelenítsd meg az adatokat!

7. feladat – Kedvenc film

Kérd be:

A program a következő minta alapján írja ki az adatokat:

Anna kedvenc filmje a Titanic. A kedvenc színésze Leonardo DiCaprio.

8. feladat – Szövegek összefűzése

Kérj be két szót!

A program írja ki:

  1. a két szót külön-külön;
  2. a két szó összefűzését;
  3. a két szó közötti szóközzel létrehozott változatot.

Példa:

Első szó: alma Második szó: fa alma fa almafa alma fa

9. feladat – Monogram

Kérd be a felhasználó vezeték- és keresztnevét!

Készítsd el a monogramját.

Példa:

Vezetéknév: Kovács Keresztnév: Anna Monogram: K.A.

10. feladat – Adatbekérő program

Készíts egy programot, amely bekéri:

Ezután a program készítsen egy rövid bemutatkozó szöveget.

Példa:

A nevem Anna. A kedvenc színem a kék. A kedvenc ételem a pizza. A kedvenc állatom a macska. A kedvenc filmem a Titanic.

11. feladat – Névjegykártya

Készíts programot, amely bekéri:

Az adatok felhasználásával készíts egy névjegykértyát!