Változók és a dinamikus típusok
A Pythonban egy változó létrehozása egyszerű értékadás. Nem kell előre megadni a típust, a nyelv az értékből következteti ki. Ezt hívjuk dinamikus típusosságnak. Ugyanaz a név később más típusú értéket is felvehet, bár a tiszta kód kedvéért ezt érdemes kerülni. A név betűvel vagy alulvonással kezdődik, és konvenció szerint kisbetűs, a szavakat alulvonás választja el.
ar = 2990 # int, egész szam
afa_kulcs = 0.27 # float, tizedes szam
termek = "kave" # str, szoveg
raktaron = True # bool, logikai ertek
brutto = ar * (1 + afa_kulcs)
print(brutto) # 3797.3
print(type(ar)) # <class 'int'>
Négy alaptípus és egy egyszerű számítás. A típust nem deklaráljuk, a Python az értékből ismeri fel.
Az alaptípusok
A napi munkában négy beépített alaptípus fordul elő a leggyakrabban. Az egész szám (int) és a tizedes szám (float) a numerikus értékeké, a szöveg (str) idézőjelek között áll, a logikai érték (bool) pedig igaz vagy hamis, amit a Pythonban a True és False szó jelöl. A típust bármikor lekérdezhetjük a beépített type függvénnyel.
Szöveg és f-string
A szövegeket egyszeres vagy kettős idézőjel közé tesszük. Változók értékét a legkényelmesebben az úgynevezett f-string segítségével illesztjük szövegbe. Az idézőjel elé írt f betű jelzi, hogy a kapcsos zárójelben álló kifejezést a Python kiértékeli és a helyére írja. Ez sokkal olvashatóbb, mint a szövegdarabok kézi összefűzése.
nev = "Anna"
db = 3
uzenet = f"{nev} {db} terméket rendelt."
print(uzenet) # Anna 3 terméket rendelt.
Az f-string a változók értékét közvetlenül a szövegbe illeszti, olvashatóan.
Elágazás if, elif és else
A vezérlési szerkezetek döntik el, mikor melyik kód fusson le. Az elágazás az if kulcsszóval kezdődik, utána egy feltétel áll, amely True vagy False értékű. Ha a feltétel igaz, a behúzott blokk fut le. Az elif további feltételeket vizsgál, az else pedig minden más esetre vonatkozik. A blokkokat itt is a behúzás jelöli, nem kapcsos zárójel.
pont = 78
if pont >= 90:
jegy = "kivalo"
elif pont >= 60:
jegy = "megfelelt"
else:
jegy = "nem felelt meg"
print(jegy) # megfelelt
Az if, elif és else ága közül mindig pontosan egy fut le. A blokkokat a behúzás határolja.
Behúzás mint szerkezet
A Python egyik jellegzetessége, hogy a kódblokkokat a behúzás határozza meg, jellemzően négy szóköz. Ahol más nyelvek kapcsos zárójelet használnak, ott a Python a behúzás mélységéből tudja, mi tartozik egy blokkhoz. Ezért a behúzás nem stílus kérdése, hanem a program szerkezetének a része, és következetesnek kell lennie.
Ciklusok for és while
A ciklus ismétlést jelent. A for ciklus egy sorozat elemein megy végig egyesével, például egy lista elemein vagy a range által adott számokon. A range(start, stop, step) számokat állít elő, a stop értéket már nem éri el. A while ciklus addig ismétel, amíg egy feltétel igaz marad. Az adatelemzésben legtöbbször for ciklussal járjuk be az adatokat, bár a NumPy és a pandas éppen azért hasznos, mert sok esetben ciklus nélkül is elvégzi ugyanezt.
# for ciklus a range szamain
osszeg = 0
for i in range(1, 5): # 1, 2, 3, 4
osszeg = osszeg + i
print(osszeg) # 10
# while ciklus feltetellel
n = 3
while n > 0:
print(n) # 3, majd 2, majd 1
n = n - 1
A for ciklus egy sorozaton lép végig, a while pedig addig ismétel, amíg a feltétel igaz.
Négy építőelem. Változók, alaptípusok, elágazás és ciklus. Ez a négy fogalom már elég ahhoz, hogy egyszerű programlogikát írj. A következő lecke ezekre építve mutatja be a Python adatszerkezeteit és a függvényeket.
Workshop
AI Transformation Day
Egésznapos, vezetőknek szóló program. Feltérképezzük, hol tart a szervezet, mi az első reális lépés, és milyen belső feltételek szükségesek a sikerhez. A nap végén konkrét, prioritizált cselekvési lista.
Érdekel a program →