Kategória: Python.
Áttekintés
A Python az egyik legkönnyebben tanulható programozási nyelv. Ugyanakkor olyan (belső és külső) könyvtárakat kapott az idők folyamán, amely kifejezetten professzionálissá tették, különösen az adattudomány területén. Népszerűsége a 2010-es években meredeken ívelt felfelé, és az évtized végére első helyre került. Megtanulása tehát ajánlott akár első nyelvként is, de azok számára is, akik az adattudományban képzeli el karrierjüket, esetenként kifejezetten magas fizetésért.
Telepítés
A Python ingyenesen letölthető a https://www.python.org/downloads/ oldalról.
Javasolt IDE a PyCharm: https://www.jetbrains.com/pycharm/. A közösségi változat ingyenes.
Indítás
Indítása parancssorból:
python
vagy:
py
Az utasításokat közvetlenül is kiadhatjuk:
Python 3.9.1 (tags/v3.9.1:1e5d33e, Dec 7 2020, 17:08:21) [MSC v.1927 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> print("Hello, Python!")
Hello, Python!
>>>
Kilépés a parancssorból:
exit()
A Python programok szokásos kiterjesztése .py. Pl. hozzunk létre egy új forrásfájlt helloworld.py néven, az alábbi tartalommal:
print("Hello, World!")
Majd adjuk ki a következő parancsot:
python helloworld.py
Alapelemek
Néhány fontosabb tudnivaló:
- Az utasítások magukban is állhatnak, nem kell függvényekbe ill. osztályokba tenni őket.
- Az utasításokat új sorba kell írni, nincs utasítás elválasztó. Több utasítást tehát nem tudunk egy sorba írni.
- A megfelelő behúzás itt nemcsak szépség kérdése, hanem kötelező: ugyanis nincs utasítás blokk karakter vagy egyéb mechanizmus (pl. {…} számos más programozási nyelvben).
- Ahol "normál esetben" egy blokk kezdődne (pl. if), itt kettőspontot (:) kell tenni, majd a következő utasítást vagy utasításokat beljebb kell húzni.
- Az, hogy a behúzás pontosan milyen (pl. 2 szóköz, 4 szóköz, 1 tabulátor stb.) tetszőleges, de konzisztensnek kell lennie.
- Az üres utasítás a pass. Ez különösen hasznos pl. akkor, ha létrehozzuk pl. az if utasítás feltételét, egyelőre a nem tudjuk a részleteket megvalósítani, viszont el szeretnénk érni, hogy ne legyen fordítási hibás a program.
- Csak egysoros megjegyzések vannak, amely a # karakterrel kezdődik. Tehát a karaktertől jobbra levő részeket a program figyelmen kívül hagyja.
- Többsoros megjegyzések külön nincsenek, ám van két trükk. Az egyik: semmi sem akadályozza azt, hogy a # karaktert több sor elejére írjuk egymás alá. A másik: létre hozhatunk több soros stringet """ közé írva, és ha nem adjuk értékül semminek, a program figyelmen kívül hagyja.
- Kiírni a print() függvénnyel tudunk, pl. print("Hello, world!").
A fentiek illusztrálására (és még pár dologra) tekintsük az alábbi forrást:
# This is a comment print("Hello, world!") """ This is a multiline comment. """ def print_hello(name=None): if name == None: print("Hello, Python!") else: print("Hello, " + name + "!") print_hello() print_hello("Csaba")
Nevezzük el pl. úgy, hogy hello.py, majd futtassuk le a következőképpen:
python hello.py
Könyvtárak telepítése
A telepítéssel egyben a PIP Python csomagkezelő is feltelepül. Pl. a telepített csomagok kilistázása:
pip list
Csomag telepítése:
pip install pandas
IDE
Pythont számos módon fejleszthetünk. Használhatunk teljesen általános szövegszerkesztőt, és a legtöbbnek van valamiféle Python támogatása. De léteznek kifejezetten Pythonra kifejlesztett fejlesztőeszközök is; ezek közül ismerünk most meg kettőt.
IDLE
Ez egy beépített Python szerkesztő, azaz a Python feltelepítésével ez is automatikusan feltelepül. Néhány fontosabb tulajdonsága:
- Tartalmaz Python shell-t; tkp. ez indul el alapból.
- Van egy szerkesztő (File → New File), amely kiemeli a Python kulcsszavakat, és képes bizonyos alap automatikus formázásokra is.
- Program futtatása a szerkesztőből: F5; az eredmény a shellben jelenik meg.
- Debuggolni is lehet: a shell-ben Debug → Debugger, és ott tudunk lépkedni a programban, valamint közben nézni a változók tartalmát. A szerkesztőben jobb kattintással tudunk breakpointot elhelyezni.
A tudása sajnos nem túl nagy, de mivel alapból feltelepül, érdemes megismernünk. Oktatási céllal különösen hasznos tud lenni.
PyCharm
A JetBrains terméke, mint az IntelliJ IDEA, kifejezetten Pythonra kifejlesztve. Letölthető innen: https://www.jetbrains.com/pycharm/. Ennek is van ingyenes közösségi és fizetős változata is. A tudása hasonló az IntelliJ IDEA-hoz, a billentyűkombinációk is hasonlóak. Lényegesen nagyobb segítséget nyújt a szerkesztésben mint az IDLE. Oda lehet benne ugrani a változók és függvények deklarálásához, van benne kód kiegészítés, folyamatosan ellenőrzi a kód szintaktikai helyességét, és debugger is nagy tudású, és még számos hasznos tulajdonsággal rendelkezik.
Eltávolítása
Talán meglepő ez a fejezed, de néha szükség lehet a Python TELJES eltávolítására, és ez valójában nem egyszerű. Itt összeírom, amit tudok Windows operációs rendszer alatt, és a lista minden bizonnyal nem teljes.
Adatgyűjtés
Mielőtt elkezdenénk a tényleges eltávolítást, gyűjtsünk össze pár adatot.
A közvetlenül elérhető Python környezetek:
where python
A Python által használt könyvtárak helyei:
import sys print(sys.path)
Egy adott külső könyvtár helye:
import pandas print(pandas.__file__)
A pip cache könyvtár:
pip cache dir
Az Anaconda Prompton belül (ha van):
where anaconda
Automatikus eltávolítás
Először hajtsuk végre az automatikus eltávolítást:
- Add or remove programs
- A szűrőmezőbe írjuk be azt, hogy Python
- Egyesével kattintsunk az Uninstallra.
- A teljes eltávolításhoz az olyan, Pythont is tartalmazó programokat is el kell távolítani, mint pl. az Anaconda.
Könyvtárak és fájlok törlése
A fenti lépés sajnos nem mindig távolít el mindent. Sokszor előfordul pl. az (nem feltétlenül a Pythonban), hogy megmaradnak könyvtárak egy-egy konfigurációs fájllal, melyek megmaradnak akkor is, ha újratelepítjük, így a korábbi "szemét" bezavar a friss telepítés során. Így a megmaradt könyvtárakat és fájlokat kézzel ki kell törölni. Az alábbiakat érdemes törölni (a lista lehet, hogy nem teljes):
- Magát a Python telepítési könyvtárat. Ez alapértelmezésben a következő: c:\Users\[name]\AppData\Local\Programs\Python\, viszont lehet, hogy mi máshova telepítjük. Én pl. a c:\Programs\Python\ könyvtárba szeretem telepíteni. További esélyes könyvtárak: c:\Program Files\Python\, c:\Program Files (x86)\Python\.
- A c:\Windows\py.exe és c:\Windows\pyw.exe fájlokat.
- A fentiekkel általában töröljük a könyvtárakat is, de ha véletlenül mégse, akkor töröljük a fent megállapított könyvtár elérési útvonalak könyvtárait.
- A pip cache-t, ami általában itt található: c:\Users\[name]\AppData\Local\pip.
- Az Anaconda könyvtárát (ha van).
- További könyvtárak, amit érdemes megvizsgálni: c:\Users\[name]\AppData\Local\black\, c:\Users\[name]\AppData\Local\conda\, c:\Users\[name]\AppData\Local\JetBrains\, c:\Users\[name]\AppData\Local\Programs\, c:\Users\[name]\AppData\Local\pyinstaller\, c:\Users\[name]\AppData\Local\pypa\, c:\Users\[name]\AppData\Local\temp\, c:\Users\[name]\AppData\Roaming\.anaconda\, c:\Users\[name]\AppData\Roaming\Code\, c:\Users\[name]\AppData\Roaming\jupyter\.
Környezeti változók
A telepítés nem feltétlenül törli a környezeti változókat. Nyissuk meg a környezeti változók szerkesztőt (Edit the system environment variables -> Environment Variables…), és mindkét listában vizsgáljuk meg a PATH környezeti változót. Töröljünk mindent, ami tartalmazza a Pythont.
Egyéb helyek
A fentiekkel sajnos még mindig nem feltétlenül töröltünk mindent. Lehet ugyanis készíteni saját virtuális környezetet, aminek tipikus neve az, hogy venv. Bizonyos esetekben ez automatikusan elkészül, pl. a PyCharm készít egyet minden projekthez. Ezeket is érdemes felderíteni. Tipp azokra az esetekre, ha nem venv a könyvtárnév: van benne activate.bat, arra is rákereshetünk.
Segítség
A neten fellelhető temérdek tananyag közül az alábbiakat ajánlom:
- https://docs.python.org/3/tutorial/: a Python hivatalos tananyaga. Személy szerint én nem használom, de illik ezzel kezdeni.
- https://www.w3schools.com/python/: szokásos W3Schools minőség!
- https://www.tutorialspoint.com/python/: szokásos TutorialsPoint minőség.
- https://www.geeksforgeeks.org/python-programming-language/: az egyik legalaposabb.
- https://www.pcwdld.com/python-cheat-sheet: Pythonnal kapcsolatos összefoglaló táblázatok.