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

Operátor Jele
Operátor Neve
==
Egyenlő
=!
Nem Egyenlő
<
Kisebb
>
Nagyobb
<=
Kisebb Vagy Egyenlő
>=
Nagyobb vagy Egyenlő

Logikai operátorok:

Operátor Jele
Operátor Neve
and
És
or
Vagy
not
Nem

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() és max() 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. A randint() 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 a randint(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