A Python programozási nyelv



Hasonló dokumentumok
A Python programozási nyelv

Imperatív programozás

Adattípusok, vezérlési szerkezetek. Informatika Szabó Adrienn szeptember 14.

Imperatív programozás

Python tanfolyam Python bevezető I. rész

Programozási nyelvek Python

Hálózatok építése és üzemeltetése

Ismerkedés a Python programnyelvvel. és annak micropython változatával

Komputeralgebra Rendszerek

Számítógépes Hálózatok. 1. gyakorlat

PYTHON. Avagy hosszú az út a BioPythonig

BASH script programozás II. Vezérlési szerkezetek

Számítógépes Hálózatok. 1. Gyakorlat

Python I. Vincze Dávid Miskolci Egyetem, IIT

Apple Swift kurzus 3. gyakorlat

Python bevezető foglalkozás Python bevezető foglalkozás

AWK programozás, minták, vezérlési szerkezetek

A C# programozási nyelv alapjai

AWK programozás, minták, vezérlési szerkezetek

Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double

PyS60....avagy Python a mobilon

Imperatív programozás

A Python alapjainak áttekintése

Mit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3)

Számítógépes Hálózatok GY 1.hét

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

Szoftvertervezés és -fejlesztés I.

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Szoftvertechnológia alapjai Java előadások

Mintavételes szabályozás mikrovezérlő segítségével

2018, Diszkrét matematika

Szkriptnyelvek. 1. UNIX shell

Bevezetés a programozásba I.

Ismerkedés a Python programnyelvvel. és annak micropython változatával

Gyakorló feladatok Gyakorló feladatok

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Változók és adattípusok Változók és adattípusok

Adatbázisok* tulajdonságai

2018, Diszkrét matematika

Java és web programozás

2016, Diszkrét matematika

Mi a Python? A Python alapjainak áttekintése. Példaprogram feladatkit zés. Példaprogram megvalósítás

Programozás. Programozás villamosmérnököknek

Programozási nyelvek JAVA EA+GY 1. gyakolat

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 4.ELŐADÁS. Adatbázis alapú alkalmazások készítése PHP-ben

2019, Diszkrét matematika. 1. el adás

Komputeralgebra Rendszerek

Occam 1. Készítette: Szabó Éva

PHP. Telepítése: Indítás/újraindítás/leállítás: Beállítások: A PHP nyelv

Programozás C nyelven (3. ELŐADÁS) Sapientia EMTE

Internet programozása. 3. előadás

Vezérlési szerkezetek Vezérlési szerkezetek: feltételes elágazás és ciklusok

Kifejezések. Kozsik Tamás. December 11, 2016

Az Összetett hálózatok vizsgálata elektronikus tantárgy részletes követeleményrendszere

Fordított és szkript nyelvek összehasonlító elemzése. Sergyán Szabolcs

C programozás. 1 óra Bevezetés

Karakterkészlet. A kis- és nagybetűk nem különböznek, a sztringliterálok belsejét leszámítva!

Bánsághi Anna 2014 Bánsághi Anna 1 of 68

Programozási nyelvek I. 5. előadás (Gregorics Tibor anyagának felhasználásával)

SZOFTVERFEJLESZTÉS. Földtudományi mérnöki mesterszak / Geoinformatikus-mérnöki szakirány. 2017/18 II. félév. A kurzus ebben a félévben nem indult

2018, Diszkre t matematika. 8. elo ada s

Smalltalk 2. Készítette: Szabó Éva

SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS

Programozás alapjai C nyelv 5. gyakorlat. Írjunk ki fordítva! Írjunk ki fordítva! (3)

Alapok. tisztán funkcionális nyelv, minden függvény (a konstansok is) nincsenek hagyományos változók, az első értékadás után nem módosíthatók

Programozás alapjai C nyelv 8. gyakorlat. Mutatók és címek (ism.) Indirekció (ism)

Java I. A Java programozási nyelv

Szkriptnyelvek II. Perl programok

Programozás I. Első ZH segédlet

Labor gyakorlat Mikrovezérlők

Programozás BMEKOKAA146. Dr. Bécsi Tamás 2. előadás

1. Bevezetés szeptember 9. BME Fizika Intézet. Szám. szim. labor ea. Tőke Csaba. Tudnivalók. feladat. Tematika. Moodle Házi feladatok

2016, Diszkrét matematika

Webprogramozás szakkör

Mutatók és címek (ism.) Programozás alapjai C nyelv 8. gyakorlat. Indirekció (ism) Néhány dolog érthetőbb (ism.) Változók a memóriában

Mi a Python? A Python alapjainak áttekintése. Példaprogram feladatkit zés. Példaprogram megvalósítás

PHP. Adatbázisok gyakorlat

AWK programozás Bevezetés

Szoftver-mérés. Szoftver metrikák. Szoftver mérés

Informatika terméktervezőknek

2018, Diszkrét matematika

Objektum Orientált Szoftverfejlesztés (jegyzet)

Számítógépes Hálózatok GY 2.hét

3D-s technológiák a játékfejlesztésben UDK bevezetés

S z á m í t ó g é p e s a l a p i s m e r e t e k

Programok értelmezése

A programozás alapjai

A C# PROGRAMOZÁSI NYELV

C programozás. { Márton Gyöngyvér, 2009 } { Sapientia, Erdélyi Magyar Tudományegyetem }

Programozási nyelv Java

S z á m í t ó g é p e s a l a p i s m e r e t e k

7/8. gyakorlat Karaktertömbök és sztringkezelés

Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás 2. előadás

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17

SZERVER OLDALI JAVASCRIPT. 3. hét Javascript nyelvi elemek

Operációs Rendszerek II. labor. 2. alkalom

Imperatív és procedurális programozás a Javában

Komputeralgebra Rendszerek

Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe

Feldspar: Nyelv digitális jelfeldolgozáshoz

Átírás:

A Python programozási nyelv Takács Gábor <gtakacs@sze.hu> Széchenyi István Egyetem Matematika és Számítástudomány Tanszék 1 / 47

Jellemzők + értelmezett nyelv + típusai dinamikusak + szintaxisa tömör, elegáns + többparadigmás nyelv + könnyen tanulható ("brain-friendly") + több 10 ezer külső modul érhető el hozzá (https://pypi.python.org/pypi) + erős közösség áll mögötte + szabadon használható + platformfüggetlen bizonyos feladatokhoz lassú lehet többszálú lehetőségei korlátozottak 2 / 47

Guido van Rossum (BDFL) 3 / 47

Mérföldkövek 1994 Python 1.0 2000 Python 2.0 2001 Python Software Foundation (http://www.python.org/psf/) 2008 Python 3.0 4 / 47

Python 2 vagy Python 3? 5 / 47

Python Enhancement Proposal (PEP) 6 / 47

Prominens alkalmazások Youtube Python has been an important part of Google since the beginning, and remains so as the system grows and evolve (Peter Norvig, Google) Dropbox Python became my favorite programming language because it had a balance of simplicity, flexibility, and elegance. (Drew Houston, CEO, Dropbox) 7 / 47

Implementációk CPython (http://python.org/), v3.4.2 / v2.7.9 PyPy (http://pypy.org/), v3.2.5 / v2.7.8 Jython (http://www.jython.org/), v2.7b3 IronPython (http://ironpython.net/), v2.7.5... 8 / 47

Telepítés Linux - értelmező telepítése: triviális - külső modulok telepítése: pip-pel Windows - 1. lehetőség: telepítőcsomagokkal telepítés - 2. lehetőség: Linux-szerű környezet beállítása - 3. lehetőség: Python disztibúció használata - Anaconda (https://store.continuum.io/cshop/anaconda/) - WinPython (http://winpython.sourceforge.net/) - Enthought (https://www.enthought.com/products/epd/) 9 / 47

Fejlesztőkörnyezetek nehézsúlyú - PyCharm (http://www.jetbrains.com/pycharm/) - Eclipse + PyDev plugin - Spyder (https://code.google.com/p/spyderlib/) - Wing IDE (http://www.wingware.com/), $245 - Komodo (http://www.activestate.com/komodo-ide), $295 könnyűsúlyú - Emacs / Vim /... - Sublime Text (http://www.sublimetext.com/), $70 10 / 47

11 / 47

Az értelmező python file [arg]... python -c command [arg]... ipython ipython console qtconsole notebook #!/usr/bin/env python print('hello, World!') 12 / 47

Adattípusok / 1 None True, False számok i = 10 # egész szám (int) f = 3.14 # lebegőpontos szám (float) c = 2-5j # komplex szám (complex) sztringek s1 = 'alma' # a határoló jel lehet ' s2 = "szilva" #...és " is s3 = '"alma" "szilva"' # <= ilyenkor nem kell levédeni # a sztringben a " karaktert! # többsoros sztringállandó s4 = """alma szilva""" 13 / 47

Adattípusok / 2 Aritmetikai műveletek: +, -, *, /, **, %, //. Összehasonlítás: <, <=, ==,!=, >, >=. Logikai műveletek: and, or, not. Bitenkénti logikai műveletek: &,, ˆ,, «,». Halmazműveletek: &,, -. Tartalmazásvizsgálat: in, not in. Azonosságvizsgálat: is, is not. Értékadás: =, +=, -=, *=, /=, **=, %=, //=,... 14 / 47

Adattípusok / 3 szekvencia típusok t = (1, 2, 3) # tuple l = [1, 2, 3] # lista halmazok, szótárak s = set([1, 2, 3]) # halmaz (Python 2) s = {1, 2, 3} # halmaz (Python 3) d = {'x': 1, 'y': 2, 'z': 3} # szótár d['x'] # az 'x' kulcshoz rendelt érték lekérdezése d['x'] = 9 # az 'x' kulcshoz érték módosítása d['w'] = 0 # új kulcs-érték pár hozzáadása 1 in s # eleme 1 az s halmaznak? 'x' in d # van a d szótárban 'x' kulcs? 15 / 47

Adattípusok / 4 konverzió int(2.3) # float => int float('10') # str => float str(20) # int => str tuple([1, 2, 3]) # list => tuple list((4, 5, 6)) # tuple => list set((7, 8, 9)) # tuple => set dict([('a', 1), ('b', 2)]) # pairs => dict {'a': 1, 'b': 2}.items() # dict => pairs 16 / 47

Vezérlési szerkezetek if 2 * 2 == 4: # Pythonban a vezérlési szerezetek print('alma') # belseje indentálással különül el. elif 2 * 2 == 5: # a kód többi részétől. print('szilva') else: # Emiatt garantált, hogy a program print('barack') # vizuális megjelenése és logikai # jelentése összhangban van. # végtelen ciklus while True: pass # Ha csak 1 végrehajtandó utasítás van, # akkor írhatjuk a while-lal 1 sorba. # a 0-tól 9-ig terjedő egész számok négyzetének kiírása for i in range(10): print(i**2) range vs. xrange break, continue 17 / 47

Szabványos be- és kimenet # Python 2 print 'hello' sys.stdout.write('hello') sys.stdout.write('hello'); sys.stdout.flush() # Python 3 print('hello') print('hello', end='') print('hello', flush=true) # Python 2 x = input('kérek egy egész számot: ') # VESZÉLYES! x = int(raw_input('kérek egy egész számot: ')) # Python 3 x = int(input('kérek egy egész számot: ')) 18 / 47

Gyakorlás: Számkitalálós játék > Találd ki, hogy melyik számra gondoltam 1 és 100 között! > 50 > Kisebb számra gondoltam. > 25 > Nagyobb számra gondoltam. >... 19 / 47