DEV Community

Cover image for Python alapok szoftverhasználóknak I.

Python alapok szoftverhasználóknak I.

Ez a blogposzt azok számára született, akik eddig szoftvereket (Excel, Power BI, SPSS) használtak adatelemzési célra, de gondolkodnak azon, hogy áttérnek egy programozási nyelvre. A Python remek választás erre a feladatra, hiszen egy széles körben elterjedt, általános célú programozási nyelvről van szó, amelyhez rendkívül sokrétű statisztikai könyvtárakat fejlesztettek. A Python ipari sztenderddé vált, és a munkaerőpiacon nagyon keresett.

Hogyan telepítsd a Python-t

Windows

Mielőtt elkezdenél kódolni, szükséged lesz magára a Python értelmezőre. A telepítés viszonylag egyszerű, látogass el a Python hivatalos weblapjára:
https://www.python.org/
Töltsd le a 3.x-es verziót, és telepítsd az installerrel. Fontos, hogy add hozzá a környezeti változókhoz a Python könyvtárat, hogy bárhol el tudd érni az interpretert! Ezt úgy teheted meg, hogy telepítéskor bepipálod az "add Python to path" opciót. Ha nem pipáltad be, akkor sajna kézzel hozzá kell adnod a környezeti változókhoz a Python könyvtárat. Erről például itt olvashatsz bővebben:
https://realpython.com/add-python-to-path/

Linux

Linuxon nyiss egy terminált, és frissítsd a csomaglistát az alábbi paranccsal:

sudo apt update
Enter fullscreen mode Exit fullscreen mode

Ezt követően telepítsd a Python-t:

sudo apt install python3
Enter fullscreen mode Exit fullscreen mode

Fontos, hogy az eltérő disztribúciókban eltérő parancsok lehetnek érvényben.

Python kód futtatása

Személy szerint én a Visual Studio Code nevű szoftvert használom a legtöbbször, amelyet itt tudsz elérni:
https://code.visualstudio.com/

Változók

Én mindig úgy szoktam magyarázni a változókat, hogy ezek tulajdonképpen nevesített értékek. (Ez nem hivatalos terminológia.) Egy névhez kötünk egy (vagy adott esetben több) értéket. A változók rendelkeznek úgynevezett típusokkal. A típus fogalmát úgy a legegyszerűbb megérteni, hogyha elképzelsz egy űrlapot. Az űrlapon többféle adat található, mint például:

  • név (karakterlánc)
  • születési év (egész szám)
  • testsúly (tört szám)
  • dohányzik-e (logikai érték tehát igen, vagy nem)
  • üresen hagyott mező (None)

A karakterláncot hívjuk string-nek, az egész számot int-nek a tört számot float-nak és a logikai változót bool-nak. Létezik a "semmi" típus is, ami a None. A változóknak nevet kell adnunk, amelyek tartalmazhatják az ábécé (már nem csak angol ábécé) kis és nagybetűit, számot és alsóvonást. Habár technikailag helyes az ékezetes változónevek alkalmazása, ugyanakkor szakmai szempontból erősen ellenjavallott! A szám nem lehet elöl. Nem alkalmazhatunk lefoglalt kulcsszavakat változónévként.

name = "Kiss János"
birth_year = 1995
weight = 70.5
smoking = True
nothing = None
Enter fullscreen mode Exit fullscreen mode

Tipikus helytelen változónevek.

2name = "Kiss János"
birth-year = 1995
for = 70.5
Enter fullscreen mode Exit fullscreen mode

Néhány fontos megjegyzés:

  • A string változók értékeit egyszeres, vagy kétszeres aposztrófba írjuk.
  • A törteknél tizedespontot, és nem vesszőt alkalmazunk!!!
  • A bool értéke lehet True és False
  • Ezeken kívül is léteznek változó típusok, ezek csak a legalapvetőbbek.

Operátorok és műveletek

Nem szeretném definiálni a művelet kifejezést, elég annyi, hogy ez egy meglehetősen sokrétű dolog. Műveletnek minősül például az értékadás egy változónak, vagy két változó értének összeadása. Az operátorok azok a szimbólumok, amelyekkel műveleteket végzünk. Az angol nyelvű szakirodalomban néha másképpen bukkan fel az operátorok kategorizálása, mint a magyar nyelvűben. Ne aggódj, igyekszem mindegyikre mutatni példát, ami nem egyértelmű, de nem feltétlenül sorolom fel az összeset, inkább csak azokat, amelyeket gyakran használjuk.
A kategóriák a következők:

  • aritmetikai operátorok: +,-,*,/,//,%,**
  • értékadó operátorok: =, +=, -=, *=, /=, %=
  • összehasonlító/relációs operátorok: ==, !=, <,<=,>,>=
  • logikai operátorok: and, or, not
  • azonossági/identitás operátorok: is, is not
  • tagsági operátorok: in, not in
  • bit operátorok: &, |, ^, ~, <<, >>

Az első furcsa operátor a százalékjel (%) lehet számodra. Ez itt nem százalékszámítást, hanem maradékos osztást jelent. A print függvény képes különböző értékeket megjeleníteni a konzolon, akár változók értékeit is.

remainder = 12 % 5
print(remainder) #jelen esetben ez fog megjelenni: 2
Enter fullscreen mode Exit fullscreen mode

Eljött az idő, hogy beszéljünk a kommentelésről. A komment, magyarul megjegyzés olyan külön jelölt rész a kódban, amelyet az interpreter (a program, amely végrehajtja a kódot) nem vesz figyelembe. Kétfajta kommentelés létezik.

"""
Így akár több sorban is tudunk kommentelni.
Bővebb magyarázatokhoz szoktuk használni.
"""
remainder = 12 % 5 #egysoros komment, hogy az eredmény itt 2
Enter fullscreen mode Exit fullscreen mode

Fontos megyjegyezni, hogy amit többsoros kommentnek hívtam, technikailag akként is tud funkcionálni, és a legtöbben így nevezik, de ez valójában egy úgynevezett "docstring", és kiértékeli a Python.

Na, de nézzük tovább a többi operátort! A kettős csillag (**) a hatványozás. A bal oldalon található a hatványalap, a jobb oldalon pedig a kitevő.

result = 2**4 #16
Enter fullscreen mode Exit fullscreen mode

A // operátor az úgynevezett "floor division", tehát az az osztás, amikor csak az egész részt kapjuk vissza akkor is, ha matematikailag törtszám jönne ki.

result = 7 // 2 #3
Enter fullscreen mode Exit fullscreen mode

Nézzük a += operátort! A += lerövidíti azt, amikor a változó önmaga értékét kapja, plusz egy másik értéket. Az alább láthatod a műveletek eredményeit. Az a változón ugyanazt végeztük el, mint a b változón, így pontosan ugyanazt az értéket kaptuk vissza. A /=, *= és a többi is ugyanezzel a logikával működik.

a = 5
a = a + 2 #7
b = 5
b += 2 #b=7
Enter fullscreen mode Exit fullscreen mode

A == operátor nem értékadást jelent, hanem annak az ellenőrzését, hogy az adott érték megegyezik-e egy másikkal. Az eredménye mindig egy bool érték lesz. A != éppen az ellentettjét fogja visszaadni annak, amit a ==.

bo1 = 5 == 5 #True
bo2 = 5 != 5 #False
Enter fullscreen mode Exit fullscreen mode

A többi relációs operátort már feltehetőleg ismered matematikai tanulmányaidból. Fontos, hogy a < és a <= között az a differencia, hogy a <= egyenlőséget is megenged, míg a < nem. A többit szerintem kitalálod. :)

Logikai műveletek

Három alapvető logikai műveletet már kezdő programozóként is ismerned kell, ezek a következők:

  • negáció (tagadás)
  • konjunkció (logikai ÉS)
  • diszjunkció (logikai VAGY)

Ezen műveleteket Pythonban a "not" az "and" és az "or" operátorokkal érheted el. A logikai műveletek végeredménye mindig logikai érték, tehát vagy True, vagy False. A logikai műveletekhez társíthatunk úgynevezett igazságtáblákat, amelyek azt mondják meg, hogy a vizsgált logikai állítások igazságának függvényében milyen eredményt adnak a műveletek. Vegyünk egy példát.

NOT

A NOT (negáció, tagadás) az igazból hamisat, a hamisból pedig igazat hoz létre.

A NOT A
1 0
0 1
x = True
print(not x) # False
Enter fullscreen mode Exit fullscreen mode

AND

Az AND (konjunkció, ÉS) művelet akkor ad igaz eredményt, ha minden vizsgált feltétel igaz. Ha bármelyik (vagy mindegyik) hamis, az eredmény is hamis lesz. Olyan ez, mint egy belépési feltétel. Csak akkor mehetsz be, ha van jegyed ÉS betöltötted a 18-at.

A B A AND B
1 1 1
1 0 0
0 1 0
0 0 0
has_ticket = True
is_adult = False

can_enter = has_ticket and is_adult
print(can_enter) # False
Enter fullscreen mode Exit fullscreen mode

OR

Az OR (diszjunkció, vagy) művelet akkor ad igazat, ha a feltételek közül legalább az egyik igaz. Csak akkor kapunk hamis értéket, ha minden vizsgált állítás hamis. Például akkor kapsz kedvezményt, ha diák vagy VAGY ha elmúltál 65 éves.

A B A OR B
1 1 1
1 0 1
0 1 1
0 0 0
is_student = True
is_senior = False

gets_discount = is_student or is_senior
print(gets_discount) # True
Enter fullscreen mode Exit fullscreen mode

A többi operátorról későbbi bejegyzésekben lesz szó, konkrét példákkal bemutatva.

Top comments (0)