Archívum: 2012/13/2 (2013. febr.)
| Tantárgy neve: | Bevezetés a Python programozási nyelvbe |
| Tantárgy kódja: | INBV381L / INCV381L / INDV381L |
| Előfeltétel: | Magas szintű programozási nyelvek 1 (INBK301 / INCK301 / INDK301) |
| Félév: | 2012/2013/2 (2013. febr.) |
| Gyakorlatvezető: | Szathmáry László |
| Syllabus: | SyllabusPython-2012-2013-2.pdf |
A gyakorlatok ideje és helye:
- hétfő 8h-10h, IK-105
- hétfő 10h-12h, IK-105
Linkek:
Aktuális hírek
- [2013.05.30.] Most tudtam meg, hogy az egyikőjük pythonos blogot indított. Itt lehet megtekinteni: http://pythonalapok.wordpress.com/.
- [2013.05.19.] PI challenge aktuális állása: 4/4 megoldás. 1.: BRZs; 2.: PZ; 3.: KJ; 4.: NG.
- [2013.05.19.] Kint a 13. gyakorlat anyaga.
- [2013.05.07.] 2. ZH a nem végzősöknek: 2013. május 27-én (hétfőn) a gyakorlat helyén és időpontjában. Javítási lehetőség 2013 május 30-án (csütörtökön) 10h és 12h között a 105-ös teremben.
- [2013.04.29.] Kint a 11. gyakorlat anyaga. Csütörtök reggel 8h-tól a 203-as teremben 2. ZH a végzősöknek. Javítási lehetőség: 2013. május 9. (csütörtök), 8h és 10h között a 203-as teremben.
- [2013.04.21.] Az 1. ZH eredményeit beírtam a Neptunba.
- [2013.04.16.] Al Sweigart ingyenesen közzétette "Hacking Secret Ciphers with Python" c. könyvét, mely a köv. oldalról tölthető le: http://inventwithpython.com/hacking/. Keressék a "Download the .pdf version for free." linket. Akit érdekel a kriptográfia, az beleáshatja magát.
- [2013.04.15.] Kint a 9. gyakorlat anyaga.
- [2013.04.11.] Kint a 8. gyakorlat anyaga.
- [2013.03.25.] Kint a 7. gyakorlat anyaga.
- [2013.03.21.] Véget ért a PyCon US 2013 konferencia. Az előadásokról készült videófelvételeket itt találják.
- [2013.03.18.] Kint a 6. gyakorlat anyaga.
- [2013.03.11.] Kint az 5. gyakorlat anyaga.
- [2013.03.04.] Megvan az 1. közös ZH időpontja: 2013. április 17. 18h-tól, IK-F0 terem
- [2013.03.04.] A Tanulmányi Bizottság a mai napon elfogadta a "Haladó Python programozás" c. tárgyra tett javaslatot. Szóval úgy néz ki, hogy szeptembertől lesz folytatás.
- [2013.03.04.] Kint a 4. gyakorlat anyaga.
- [2013.02.25.] Kint a 3. gyakorlat anyaga (meg egy csomó házi :)).
- [2013.02.20.] A kínai horoszkópban a 2013-as év a kígyó éve. Pont' jókor kezdtek el Python-t tanulni :)
- [2013.02.19.] Kikerült a syllabus is.
- [2013.02.18.] Kint a 2. gyakorlat anyaga.
- [2013.02.11.] Kint az 1. gyakorlat anyaga.
- [2013.02.09.] Lassan elindul a félév…
Mottó
"És jól indul a hét."
Rövid ismertető
A gyakorlaton a Python programozási nyelvvel fogunk megismerkedni. Mivel a tárgy előfeltétele a "Magas szintű programozási nyelvek 1", ezért feltételezem, hogy az alapvető fogalmakkal mindenki tisztában van. A gyakorlatokon Linuxos gépteremben leszünk, ahol Ubuntu GNU/Linux van feltelepítve. Csupán egy szövegszerkesztőre lesz szükség (pl. GEdit, vim, stb.); mindenki maga dönti el, hogy melyik a szimpatikusabb. A választott szövegszerkesztőben majd be kell állítani, hogy a TAB-ot automatikusan cserélje ki 4 db szóközre. (Ha valaki vim-et szeretne használni, akkor innen letölthet egy példa konfigurációs fájlt, melyben már szerepel az előbbi beállítás). GEdit-ben ezt a következőképpen tehetjük meg: Edit → Preferences, itt válasszuk az Editor fület, majd Tab Width értéke legyen 4, ill. pipáljuk be az Insert spaces instead of tabs előtti négyzetet.
PyCharm IDE
A Python nyelvhez számos integrált fejlesztői környezet (IDE) is létezik. Abban a szerencsés helyzetben vagyunk, hogy a JetBrains cég a Debreceni Egyetem számára biztosított egy osztálytermi licencet a PyCharm nevű IDE-jükhöz, mely 2014. január közepéig érvényes. Nagyobb projektekhez ennek a használatát javaslom. Akit érdekel, az küldjön egy emailt a címemre, melyben a következőket kell feltüntetni: név, Neptun kód, szak. Annyi a megkötés, hogy (1) a licencet ne adják tovább, ill. (2) a termék kereskedelmi célú szoftver fejlesztéséhez nem használható. Figyelem! A licenc használatára a Debreceni Egyetem összes diákja jogosult (nem csak azok, akik felvették a "Bev. a Pythonba" tárgyat). Vagyis nyugodtan lehet szólni másoknak is.
A gyakorlat tematikája / fóliák
A gyakorlaton elhangzottaknak szerves részét képezik a Függelékek is. A legutóbbi verzió innen tölthető le: python-fuggelekek.pdf. Ezt folyamatosan frissítem majd, érdemes lesz időnként megnézni, hogy volt-e bővítés. Az utolsó módosítás dátumát a fóliasor első diáján tüntetem fel.
1) 2013. febr. 11.
- bevezető, a Python története, a nyelv jellemzői
- az interaktív shell használata
- egyszerű Python szkriptek írása, futtatása
- a sztring adattípus
A gyakorlaton vetített anyag: python-01-20130211.pdf
Házi feladat:
2) 2013. febr. 18.
- sztringek (folyt.): sztringek formázása, sztring szeletek (slices), sztringek fajtái (többsoros sztring, raw sztring, stb.)
- konstansok
- a lista adattípus
- for ciklus
A gyakorlaton vetített anyag: python-02-20130218.pdf
Házi feladat:
3) 2013. febr. 25.
- listák (folyt.): gyakori lista műveletek, lista rendezése
- verem és sor
- split / join
- range / xrange
- ciklusok (for, while)
- függelékek: A, B, C
A gyakorlaton vetített anyag: python-03-20130225.pdf
Órán megoldott feladatok:
Házi feladat:
Opcionális (csak akit érdekel):
4) 2013. márc. 4.
- mi lesz False-ként kiértékelve
- sztringbuffer
- a tuple adattípus
- list comprehension
A gyakorlaton vetített anyag: python-04-20130304.pdf
Házi feladat:
5) 2013. márc. 11.
- a 4. fólia végéről: long típus; vezérlési szerkezetek; docstring; opcionális paraméterek
- halmaz (set)
- szótár (dictionary)
A gyakorlaton vetített anyag: python-05-20130311.pdf
Házi feladat:
- Py.20120921a Ékezetek eltávolítása
- Py.20130218b Bizonyos karakterek
- Py.20120818h 100 db 50-jegyű szám (PE #13) [csak az A változatot]
- Py.20120816a 8 királynő
- A fenti négy feladat minden függvényéhez írjunk docstring-es dokumentációt. (Docstring-hez általában hármas idézőjelet használunk hármas aposztróf helyett.)
6) 2013. márc. 18.
- szótár (folyt.)
- globális változók
- fájlkezelés
A gyakorlaton vetített anyag: python-06-20130318.pdf
Órán megoldott feladatok:
Házi feladat:
7) 2013. márc. 25.
A gyakorlaton vetített anyag: python-07-20130325.pdf
Házi feladat:
- a fólia végén nézzék át és próbálják ki az öröklődést
- Py.20130325a Sor megvalósítása két verem segítségével [pontvadászat: szerezhető +1 pont]
- Py.20130326a utolsó N sor (B változat) [pontvadászat: szerezhető +2 pont]
8) 2013. ápr. 8.
A gyakorlaton vetített anyag: python-08-20130408.pdf
Házi feladat:
- a fólia 9. oldalán leírtakat kipróbálni
- Py.20120905c my shuffle
- Py.20130411a itt két feladat is lesz: A) random számok ismétlődés nélkül; B) random betűk (duplikátummal)
9) 2013. ápr. 15.
- modulok (folyt.)
- haladó rendezés
A gyakorlaton vetített anyag: python-09-20130415.pdf
Órán megoldott feladatok:
Házi feladat:
10) 2013. ápr. 22.
- a ZH feladatainak átbeszélése
Házi feladat:
11) 2013. ápr. 29.
- kivételkezelés
- weboldalak letöltése
A gyakorlaton vetített anyag: python-10-20130429.pdf
Órán megoldott feladatok:
Házi feladat:
12) 2013. május 6.
Órán megoldott feladatok:
Házi feladat:
13) 2013. május 13.
- JSON szerializáció (folyt.)
- reguláris kifejezések
- Függelékek
- összefoglaló
A gyakorlaton vetített anyag: python-11-20130513.pdf
Órán megoldott feladatok:
Házi feladat:
- készülni a jövő heti ZH-ra
- Py.20121005a Keresés a PI számjegyeiben [pontvadászat: az első beküldő +2, a további három beküldő +1 pontot kap]
Gyakorlati jegy
Az aláírás megszerzésének egyik feltétele a rendszeres részvétel a gyakorlatokon. A félév során legfeljebb 3 hiányzás megengedett. Aki ezt túllépi, annak az aláírás automatikusan megtagadásra kerül.
A félév közepén lesz egy közös zárthelyi dolgozat (papíron, gép nélkül). Erre kapnak egy jegyet. A zárthelyi időpontja és helyszíne:
- 2013. április 17. 18h-tól, IK-F0 terem
Lesz egy 2. ZH is az utolsó héten a gyakorlat időpontjában és helyén. Ez már gép előtt lesz. Erre is kapnak egy jegyet, majd a két ZH alapján megajánlok egy jegyet. Nem egyértelmű jegy esetén (pl. 3/4, 4/5) az órai munka és a házi feladatok alapján kerekítek fel vagy le.
Lesz javítási lehetőség is. Aki nem lesz megelégedve a megajánlott jeggyel, az a vizsgaidőszak első hetében javíthat (vagy ronthat) a gyakorlat helyén és idejében. Ekkor legfeljebb egy jegyet lehet javítani/rontani. A hallgatónak néhány konkrét programozási feladatot kell helyben megoldania, illetve ismernie kell a Python programozási nyelvvel kapcsolatos fogalmakat.
Menetrend
(A) végzősöknek
- 2. ZH: 2013. május 2. (csütörtök), 8h-10h, IK-203
- javítási lehetőség: 2013. május 9. (csütörtök), 8h-10h, IK-203
(B) nem végzősöknek
- 2. ZH: 2013. május 27. (hétfő), IK-105. Mindenki a gyakorlat időpontjában jöjjön, vagyis vagy 8h-tól vagy 10h-tól.
- javítási lehetőség: 2013. május 30. (csütörtök), 10h-12h, IK-105
Ajánlott irodalom
- Angolul
- Magyarul is
- Python 3
- Magyar nyelvű, Pythonnal foglalkozó blogok