03 a Python Nyelv Bevezetese

download 03 a Python Nyelv Bevezetese

of 58

Transcript of 03 a Python Nyelv Bevezetese

A Python nyelv A J2ME Platform Alapjai bevezetseBudapesti Mszaki s Gazdasgtudomnyi Egyetem Automatizlsi s Alkalmazott Informatika Tanszk

Forstner Bertalan, Ekler Pter BME-AAIT 2008 A Python nyelv bevezetse 1

Klub Nokia Oktber

7., 17.00 ra 2., 17.00 ra

A mobilprogramozs mindenki?

December

BME-AAIT 2008

A Python nyelv bevezetse

2

Szak Kiad jegyzetvsr oktber I

7-n 10-17 rig

plet Aula hallgatk s tanszkek szmra kedvezmnnyel

A

40%-os

BME-AAIT 2008

A Python nyelv bevezetse

3

Gyorskrds Mik

a Python legfbb elnyei mobil alkalmazsok fejlesztse kapcsn?

BME-AAIT 2008

A Python nyelv bevezetse

4

TartalomBevezets A Python jellemzi A Python teleptse

Telepts mobil kszlkre Telepts S60 Emultor al Alapvet szintaxis A nyelv eszkzei Modulok Alkalmazs letciklusA Python nyelv bevezetse 5

A Python nyelv bemutatsa

Pldk

BME-AAIT 2008 2007

Bevezets ltalnos Guido

cl programozsi nyelv

van Rossum 1990-ben alkotta meg a fejlesztk szmra cl a prototpus kszts tmogatsa

Legfbb

BME-AAIT 2008 2007

A Python nyelv bevezetse

6

Mobil kszlkek s a Python Python

programozs

A Python egy szkriptnyelv

Vltozk s listk Irnytsi folyam Klnfle modulok

Python Series 60 al

Python

alkalmazs ksztse mobil kszlkekre

BME-AAIT 2008

A Python nyelv bevezetse

7

Tiszta Python s Python S60

Tiszta Python

Python S60

BME-AAIT 2008 2007

A Python nyelv bevezetse

8

TartalomBevezets A Python jellemzi A Python teleptse

Telepts mobil kszlkre Telepts S60 Emultor al Alapvet szintaxis A nyelv eszkzei Modulok Alkalmazs letciklusA Python nyelv bevezetse 9

A Python nyelv bemutatsa

Pldk

BME-AAIT 2008 2007

A Python elnyei I. Egyszer Hello

hasznlat

world! kszts pr perc alatt

Elrhet

Windows, MacOS X s UNIX opercis rendszereken is megvalsthatk vele bizonyos alkalmazsok

Gyorsabban

BME-AAIT 2008 2007

A Python nyelv bevezetse

10

A Python elnyei II. Valdi

programozsi nyelvknt is tekinthetnk r struktrt s tmogatst biztost mint brmilyen ms shell script, vagy batch file a C-nl is hatkonyabb hibakeressi mdokat tmogat

Tbb

Akr

BME-AAIT 2008 2007

A Python nyelv bevezetse

11

A Python nyelv jellemzi I. Nagyon Magas

magas szint programozsi nyelv

szint adattpusok:

Flexibilis tmbk Sztrak

sszetett

s nagyobb problmk lersra is alkalmas programkdA Python nyelv bevezetse 12

Rvid

BME-AAIT 2008 2007

A Python nyelv jellemzi II. Tmogatja

a programok modulokra

bontst Rendkvl

sok beptett modul a fejleszts megknnytsre (UI, I/O, rendszerhvsok, socketek, stb.) elrhet plda nyelv, a fordt interaktvan is hasznlhatA Python nyelv bevezetse 13

Szmos Kztes

BME-AAIT 2008 2007

TartalomBevezets A Python jellemzi A Python teleptse

Telepts mobil kszlkre Telepts S60 Emultor al Alapvet szintaxis A nyelv eszkzei Modulok Alkalmazs letciklusA Python nyelv bevezetse 14

A Python nyelv bemutatsa

Pldk

BME-AAIT 2008 2007

Python telepts mobil kszlkre

A legfrissebb SIS csomagok letltse a Python for S60 runtime s PyS60 Script Shell-bl: https://garage.maemo.org/projects/pys60/ Python 2.0.0.sis - Python runtime pips.sis - OpenC PIPS library PythonScriptShell 2.0.0 high capas.sis - ScriptShell with high capabilities (Self-signed + Location + SwEvent + WriteDeviceData + ReadDeviceData) A Python script shell a mobil kszlken minden .py kiterjeszts Python forrst megtall, mely a C:\Python, vagy a E:\Python knyvtrban tallhat. Python kdjainkat ide msolhatjuk.A Python nyelv bevezetse 15

BME-AAIT 2008

Python telepts S60 Emultorra I.

S60 emultor teleptse Legutbbi PyS60 SDK ZIP letltse, mely passzol a teleptett S60 emultor verzihoz

https://garage.maemo.org/frs/?group_id=854&release_id=3264 pl. Python_2.0.0_SDK_3rdEdFP2.zip

Tmrtsk ki a letlttt zip-et. Ebben tallhat egy uninstaller script s az epoc32 knyvtrba msoland fjlok

BME-AAIT 2008

A Python nyelv bevezetse

16

Python telepts S60 Emultorra II.

Msoljuk az S60 emultor megfelel knyvtrba (a knyvtrszerkezetbl lthat lesz). Pl.: C:\Symbian\9.2\S60_3rd_FP1\epoc32 Emultoron a Python forrsainkat msoljuk pldul a C:\Symbian\9.2\S60_3rd_FP1\epoc32\winscw\c\python knyvtrba, gy ha az emultoron futtatjuk a Python Shell Script alkalmazst, akkor az a Run script ment vlasztva meg fogja tallni a mi alkalmazsunkat is A C:\Symbian\9.2\S60_3rd_FP1\epoc32\winscw\c\python knyvtron bell ltrehozhatunk mg egy lib knyvtrat is pldul az almoduloknak

BME-AAIT 2008

A Python nyelv bevezetse

17

Python S60 Emultoron

BME-AAIT 2008

A Python nyelv bevezetse

18

Egybecsomagols PyS60

Application Packager

PythonForS60_2.0.0_Setup.exe

Eljrs:

.py fjl kivlasztsa sis fjl ksztse a szksges modulok belekerlnek

BME-AAIT 2008

A Python nyelv bevezetse

19

TartalomBevezets A Python jellemzi A Python teleptse

Telepts mobil kszlkre Telepts S60 Emultor al Alapvet szintaxis A nyelv eszkzei Modulok Alkalmazs letciklusA Python nyelv bevezetse 20

A Python nyelv bemutatsa

Pldk

BME-AAIT 2008 2007

Alapvet szintaxis I. Behzs

alap szintaxis az lltsok csoportokba szervezshez

Pldul:

if felttel1 s felttel2: alap_feladat() egyb_feladat() Nincs Sor BME-AAIT 2008 2007

szksg pontosvesszre

vge vlasztja el az utastsokatA Python nyelv bevezetse 21

Alapvet szintaxis II. Ne

keverjk ssze a Tab-ot s a Space-t (hasznljuk egysgesen) szvegszerkeszt kivlasztsa

Megfelel

Kommentek:

# - sor vgig rvnyes # llatfajtkat tartalmaz lista allatok = ['kutya','macska','madar']

BME-AAIT 2008 2007

A Python nyelv bevezetse

22

Python rtelmez I. Az

rtelmez minden egyes sort gynevezett tokenekre bont

azonost kulcssz opertor delimiter literl

Tokenek BME-AAIT 2008

kzt tetszleges whitespace karakter lehetA Python nyelv bevezetse 23

Python rtelmez II. Azonostk:

Vltoz Osztly Fggvny modul Egyb objektum

Az

azonost betvel vagy alulvonssal kezddik, s ezeken kvl mg szmokat is tartalmazhatA Python nyelv bevezetse 24

BME-AAIT 2008

Python rtelmez III. Lefoglalt

kulcsszavak:for from global if import in is not or pass print raise try while yield lambda return

and assert break class

del elif else except

continue exec def finally

BME-AAIT 2008

A Python nyelv bevezetse

25

Tpusok s vltozk Nincs

szksg a vltozk tpusainak explicit megadsra

a=5 b="hello"A

vltoznevek betket s szmokat tartalmazhatnak, de betvel kell kezddnik a kis s nagybetketA Python nyelv bevezetse 26

Megklnbzteti BME-AAIT 2008 2007

Vltozk lthatsga Globlis

s loklis vltozk

Fggvnyen

bell definilt vltozk alaprtelmezetten loklisak elejn lv vltozk a global kulcsszval globliss tehetk global valtozo1 valtozo1 = 'Globalis vagyok'

Fggvny

def fuggveny_elso():

BME-AAIT 2008 2007

A Python nyelv bevezetse

27

Vltozk s alkalmazsuk I.

Pythonban a vltozk alatt az egyes objektumokra mutat referencikat rtnk Maguknak a vltozknak nincsenek tpusai, gy egy szkript futsa sorn brmely, akr klnbz tpus objektumra is hivatkozhatnak Az objektumra val utols hivatkozst trlve az automatikus garbage collector szabadtja fel a memriaterletet Nemltez vltozkra val hivatkozs futs kzbeni kivtelt okoz.A Python nyelv bevezetse 28

BME-AAIT 2008

Vltozk s alkalmazsuk II.

a=b=c=1

Mindhrom vltoz ugyanarra az objektumra fog mutatni. x egy hrom elem sorozat, az egyes tagjai a, b, illetve c vltozhoz lesznek hozzrendelve. Felcserli a kt vltozt29

a,b,c=x

x,y=y,x

BME-AAIT 2008 2007

A Python nyelv bevezetse

Vltozk s alkalmazsuk III. Rvidrezrt

kirtkels:

a