Python alapok
Bevezetés
A programozási nyelv a számítástechnikában használt olyan, ember által is értelmezhető utasítások sorozata, amivel közvetlenül, vagy közvetve (például: gépi kódra fordítás után) közölhetjük a számítógéppel egy adott feladat elvégzésének módját.
A Python egy nyílt forráskódú programozási nyelv, leginkább a Ruby és JavaScript nyelvhez hasonlít. Amiben különbözik a Python a többi nyelvtől az az, hogy rendkívül egyszerű megtanulni és egy kezdő programozónak tökéletes első nyelvként. Bármilyen applikációba bele illeszthető illetve az összes operációs rendszeren elfut (Windows, Linux, macOS). Emellett ez az egyik legerősebb nyelv, amelyet egy programozó használhat, és körülbelül háromszor, illetve ötször gyorsabban kódolható, mint a JavaScript és a C++.
Hasznos! A haladó oldal második blokkjában ki is tudod próbálni a kódodat a Brython segítségével!
Letöltés A következő blokkban megmutatjuk neked hogyan töltsd le a programkód futtatót illetve a kódszerkeztőt!

Hogyan töltsd le? Itt egy link, itt tudod feltelepíteni a gépedre és használni egy kódszerkeztővel , például a Visual Studio Code-val (ahhoz hogy tudjad a VS Code-ban elindítani a programot szükséged lesz egy python bővítményre is.)
Változók
Több féle változó létezik,(int, str, bool, float)
. Egy változó létrehozásánál meg kell adnod neki egy nevet, és egy összeget. Ez esetben a nevük x, y, lebegopontos, ivh, szoveg
illetve az értékük 5, 5, 5.55, True, Projektmunka
.
Vigyázz! A változók nevét nem írhatod ékezettel mert hibát dob ki.
Az igaz és hamis változókat (True
és False
) kötelező nagybetűvel írni, különben nem értelmezhetőnek mutatja.
Fontos Ha szöveget szeretnénk írni aposztrófba ' '
vagy idézőjelbe " "
kell írni.
Ha egy szöveget és egy számot adunk össze akkor összeilleszti azokat a Python nyelv például 'alma' + 13 = 'alma13'
szorzatnál a szöveg változókat 'megszorozza' 'barack ' * 2 = 'barack barack '
.
x = 5
y = 5
lebegopontos = 5.55
ivh = True
szoveg = 'Projektmunka'
print(x + y) #Eredmény: 10
x = '5'
print(x + y) #Eredmény: 55
print(lebegopontos) #Eredmény: 5.55
print(szoveg) #Eredmény: Projektmunka
print(ivh) #Eredmény: True
print('Szöveg') #Eredmény: Szöveg
print(szöveg) #Error
1.1 Operátorok
Az operátorok olyan elemi műveletek amikre a programozási nyelv képes. Amikor programot írsz, akkor ezeknek az egyszerű műveleteknek a véges sorozatát írod le. Ahhoz pedig hogy abból egy jól működő program legyen csupán a logikádat kell majd használni.
Összehasonlító operátorok
Logikai operátorok:
Figyelj oda! A következő témákban már előfordulnak az operátorok használata, fontos ismerni ezeket mert nélkülük nehéz dolgod lesz.
x = 10
y = 15
# Itt bekérünk a usertől egy int-et
inp = int(input(Kérek egy természetes számot: ))
# == - Akkor fut le ha az inp egyenlő x-el
if x == inp: print(Igaz)
else: print(Hamis)
# =! - Akkor fut le ha az inp nem = x-el
if x =! inp: print(Igaz)
else: print(Hamis)
# az 'is not' is megfelelő az =! helyére
# < - Akkor fut le ha az inp nagyobb x-nél
if x < inp: print(Igaz)
else: print(Hamis)
# > - Akkor fut le ha az inp kisebb x-nél
if x > inp: print(Igaz)
else: print(Hamis)
# <= - Ha az inp nagyobb v. egyenlő x-el
if x <= inp: print(Igaz)
else: print(Hamis)
# >= - Ha az inp kisebb v. egyenlő x-el
if x >= inp: print(Igaz)
else: print(Hamis)
# and - Ha mindkét kritérium igaz
if x == inp and y == x: print(Igaz)
else: print(Hamis)
# Itt hamis lesz, mivel az y nem egyenlő x-el
# or - Ha csak az egyik kritérium igaz
if x == inp or y == inp: print(Igaz)
else: print(Hamis)
# Ha a bekért szám megegyezik x-el vagy y-al
# Akkor fut csak le
# not - Akkor fut le ha egyik kritérium se igaz
# meg tud fordítani egy 'and' operátort
if not(x == inp and x == x): print(Igaz)
else: print(Hamis)
#output: Hamis
#Végtelen ciklus (amiből egyből kilépünk)
while True:
break
2.1 Elágazások: if
Az if utasítás használatával megtudod nézni hogyha valami igaz vagy hamis, például5 > 2
.
Jó tudni Hogyha egy boolean összegnek az eredményét akarod megnézni, és az összege True, akkor nem kell if x == True:
, elég if x:
, mert a Python mindig True összeget nézi meg elsőnek, ha nincsen megadva feltétel.
if 5 > 2:
print("Az öt nagyobb a kettőnél.")
x = True
if x:
print("Az x igaz")
2.2 Elágazások: if else / elif Hiányos
Else / Elif utasítást csak if
utasítás után tudsz használni, hogyha valami nem igaz az if
utasításba nem fut le, hanem átmegy az else
utasításra
x = 10
#if else Elágazás
if x < 5: print('nem fut le')
else: print('helyette ez fog.')
#if elif else Elágazás
if x < 5: print('nem fut le')
elif x < 9: print('ez se mert nem igaz')
elif x < 15: print('ez fut le')
else: print('ez meg már nem fog lefutni')
3.1 Könyvtárak
Mik azok a könyvtárak és miket tudsz velük csinálni?
A Python nyelv gyorsasága érdekében egyes függvényeket egy bizonyos import
paranccsal lehet csak aktiválni és majd azokat később felhasználni.
Rengeteg hasznos könyvtár van alapból a pythonnal telepítve.
Mindegyik könyvtárból importált függvényt úgy kell írni, hogy a könyvtár nevét egy pontot és a függvény nevét írjuk le például: random.randint()
rövidítsünk! A from [Könyvtár] import [függvény, ...]
paranccsal már nem kell a könyvtár nevét is kiírni úgy szint a pontot se ha elő akarjuk hívni a könyvtárakban lévő függvényeket. Ha esetleg több függvény kellene az adott könyvtárból alkalmazzunk könyvtár rövidítéseket: import [Könyvtár Neve] as [Rövidítés]
a rövidítést kitalálhatjuk mi és a teljes könyvtár kiírása helyett csak azt kell leírnunk.
Most, hogy már tudjuk hogyan kell importálni, nézzük meg a leggyakoribb könyvtárakat:
- Import Math
- Az egyik beépített modulja a Pythonnak a math, amely kiterjeszti a matematikai függvények listáját. Itt felsoroljuk a legfontosabbakat neked:
- A
math.pi
konstans a PI (3.14...) értékét adja vissza - A
min()
ésmax()
függvények segítségével megkereshetjük a legalacsonyabb vagy legmagasabb értéket akár egy listában - A
math.sqrt()
egy szám négyzetgyökét adja vissza - Hatványozás:
math.pow()
kettő állítást vár, s csak egész vagy valós értéket fogad el hatványalapnak és hatványkitevőnek egyaránt
- Import Random
- A random magáért beszél. Mit is jelent ez? Véletlenszerű számokat tudsz vele készíteni és így akár dinamikusan is tudod tesztelni a kódod.
- Ha véletlen, egész számot szeretnénk, használhatjuk a
randint()
függvényt. Arandint()
két paramétert fogad el: egy legkisebb és egy legnagyobb számot. Az első értéknek kisebbnek kell lennie, mint a másodiknak. Egész szám, zárt-ZÁRT intervallumból például arandint(10,30)
= [10;30]. - A
random()
véletlen lebegőpontos számot generál két paraméter közt Randrange()
függvény: egy véletlenszerűen kiválasztott elem generálása. Egész szám zárt-NYÍLT intervallumból pl.: [10;30)
- Import Time
- Az idővel kapcsolatos dolgok, konvertálás, pontos idő kiírása, időzónák és egyebek.
- Várjon a program valamennyi másodpercig, mielőtt folytatódna a program:
sleep()
- Import os
- Fájl írás, olvasás, törlés illetve bash parancsok készítésére való könyvtár
Amennyiben bash parancsokat szeretnél futtatni a system()
függvényt használd.
#math - matee-matiii-kaaaa
from math import pi, sqrt, pow
#a matematikai PI kiprintelése:
print(pi)
#min() és max() használata:
x = min(5, 10, 25)
y = max(5, 10, 25)
print(x) #output: 5
print(y) #output: 25
#sqrt használata:
x = sqrt(36)
print(x) #output: 6
#pow használata:
print(pow(3, 4))
print(pow(-5.5, 2.0))
print(pow(2.0, 8))
#output: 81.0
# 30.25
# 256.0
#random - véletlenek előfordulnak.
import random as rnd
print(random.randint(1, 100))
#output: egytől százig véletlen szám
print(rnd.random(1, 100))
#output: egytől százig lebp. véletlen szám
# pl: 56.28
print(rnd.randrange(1, 3))
#output: 1 vagy 2
#time - a kódnak is kell a pihi nem csak neked...
from time import sleep
time.sleep(5)
#output: semmi nem történik 5mp-ig
#os - csak nehogy a system32-t töröld!
import os
# Ha a kliensgép Windows ezt használd
os.system('cls')
#output: Törli a terminál tartalmát
# Ha a kliensgép Linux/macOS ezt használd
os.system('clear')
#output: Úgyszint törli a terminál tartalmát
4.1 Ciklusok: for
Gyakran megesik, hogy egy vagy több utasítást többször végre akarunk hajtani a programmal. Például ötször szeretnénk kiíratni ugyanazt a szöveget. Ilyenkor ciklusokat használunk.
Látható, hogy a kódunkban a for
mellett van egy i
, ez egy integer változó, mely minden egyes kódsor lefutása után megnő eggyel. Ha ebben a kódban a for
ciklusunkba kiprintelnénk folyton az i
változót, akkor 0-ról egyesével megnőne addig ameddig a ciklusunk tart.
szam = 5
for i in range(szam):
print(szam)
szam = szam + 1
#output: ötször megnöveli a számot 1-el
4.2 Ciklusok: while
A while ciklus addig csinál egy adott feladatot, ameddig a feltétel nem lesz igaz. Ez azt is jelenti, hogy ezzel tudunk csinálni egy végtelen ciklust is, ha While True:
kódot használjuk soha nem fog megállni a kódunk kivéve ha egy break
kifejezést használunk.
szam = 1
while szam <= 10:
print(szam)
szam =+ 1
#output: Megnöveli a számot 1-el,
# ameddig a szám nem nagyobb,
# vagy egyenlő 10-el
5.1 Listák
Logikailag összetartozó adatok tárolására összetett adattípusokat használunk. Például a hónapok neveit, egy csoportot alkotó diákokat, a kedvenc ételeinket sokkal praktikusabb listában tárolni, mint különálló változók sokaságában, a listákat mindig a 0-dik elemtől indexeljük, azaz a legelső elem az 0.
A len()
függvény visszatér a lista hosszával, amely egyenlő a lista elemeinek számával.
honapok = ['január', 'február', 'március', 'április']
print(honapok[0]) #output: január
allatok = ['macska','kutya','víziló','hörcsög']
print(len(allatok)) #output: 4
for i in range(len(allatok)):
print(allatok[i])
#output: külön sorba kiírja a listának az elemeit
5.2 Listák körbejárása
Egy for
ciklus segítségével betudod járni a listát, azaz minden egyes elemét végig járni, és csinálni valamit velük. Ebben az esetben felsoroltatjuk egy-egy sorba az összes elemet a listában. A len()
függvénnyel a 6.3as részben fogsz találkozni
allatok = ['macska','kutya','víziló','zsiráf','hörcsög']
for i in range(len(allatok)):
print(allatok[i])
#output: külön sorba a lista összes elemét
6.2 Minimum és maximum Új!
Min()
A min()
a python programozási nyelvben a legkisebb egységet jelenti egy listában
Ezt használható számokkal [1. példa]
Számok esetében a min() a legkisebb számra vonatkozik. A mínusz számok esetében is működőképes. A nem egész számokat "tizedespont" működőképes, a "tizedesvessző" nem, mivel új listaelemként érzékeli.
És használható betűkkel is [2. példa]Betűk esetében a min()
az angol abc alapján történik és nem a szöveg hosszúsága alapján. A Python nem tesz különbséget a kisbetű és a nagybetű között ezen a téren (a függvények nevénél viszont figyelni kell, mivel ott más jelentése van a nagybetűk alapján)
Max()
A "max()" pont a "min()" ellentéte. A "max()" a listák legnagyobb elemét szedi ki. Számokkal működik [3. példa]
És egyaránt betűkkel is hasonlóan működik [4. példa]
A max() és a min() ugyanúgy működnek, csak ellentétes hatást váltanak ki (mint ahogy a nevük is sugallja). Mindkettő operátor a legszélső értékű listaelemet emeli ki.
# [1. Példa]
lista = [2, 4, 8, 3, 1]
a = min(lista)
print(a)
# Output ► 1
# [2. Példa]
diakok = ["Dalma", "Ivett", "Benedek", "Letti"]
b = min[diakok]
print(b)
# Output ► Benedek
# [3. Példa]
lista = [2, 4, 8, 3, 1]
c = max(lista)
print(c)
# Output ► 8
# [4. Példa]
diakok = ["Dalma", "Ivett", "Benedek", "Letti"]
d = max(diakok)
print(d)
# Output ► Letti