Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Script nyelvek előadás

Hasonló előadás


Az előadások a következő témára: "Script nyelvek előadás"— Előadás másolata:

1 Script nyelvek előadás
(IP-08cSCNYE, IP-cSCNYE, mm1n1sn4e, IK-fszrwSZNYEG) Tejfel Máté Déli épület, 2.604 (régi tárgy honlapja) számonkérés: beadandó programok

2 Script nyelvek dinamikus típusrendszer gyors alkalmazásfejlesztés
értelmezett (interpretált) dinamikus típusrendszer gyors alkalmazásfejlesztés hordozhatóság rövidebb és érthetőbb kód kevesebb ellenőrzés, programozó felelőssége nagyobb

3 Python Guido van Rossum tervezte Monthy Python's Flying Circus
Ős: Amoeba (1990) operácós rendszer scriptnyelve Objektumorientált Egyszerű szintaxis Margó szabály Hordozhatóság

4 Python Két „főág” Python 2.x <---> Python 3.x
Előadáson elsősorban Python 2.7

5 Futtatás Interaktívan matej@matej-laptop:~$ python
Python (default, Feb , 13:50:28) [GCC 4.4.5] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> print "Hello!" Hello! >>>

6 Futtatás Interpretáltan hello.py print "Hello!"
python hello.py Hello!

7 Futtatás Paraméterátadás hello_arg.py import sys
python hello_arg.py "Hallgató" Hello Hallgató! import sys print "Hello", sys.argv[1] + "!" sys.argv[0] forrásfájl neve sys.argv[1] első argumentum … …

8 Megjegyzések hello.py # Ez a sor megjegyzes.
print "Hello!" # Innen kezdve ez is... python hello.py Hello!

9 Értékadás Implicit deklaráció, dinamikus típusrendszer
>>> x = 1 >>> print x 1 >>> x = "abc" abc

10 Értékadás Többszörös értékadás Szimultán értékadás
>>> x = y = 7 >>> print x 7 >>> print y >>> x,y = 10, "abc" >>> print x 10 >>> print y abc

11 Típusok + műveleteik Egész számok Valós számok Komplex számok
>>> 3+2 5 >>> 5-7 -2 >>> 2*3 6 >>> 10/3 3 >>> 10/-3 -4 >>> 10**3 1000 >>> 14%3 2 >>> 2 * 3.5 7.0 >>> 6.0 >>> 10 / 3.0 >>> >>> 8.5**3 >>> 9.5%3 0.5 >>> ( j) + (3 + 1J) (4+3j) >>> 1j * 1j (-1+0j) >>> complex(3,4) (3+4j) >>> complex(1,1) * 1j (-1+1j)

12 Típusok + műveleteik Karakterláncok >>> "szoveg" 'szoveg'
>>> 'ez is "szoveg"' 'ez is "szoveg"' >>> "es ez is 'az'" "es ez is 'az'" >>> "szoveg SyntaxError: EOL while scanning string literal >>> """ tobb soros szoveg""" ' tobb soros\n szoveg' >>> print """ tobb soros tobb soros szoveg

13 Típusok + műveleteik Karakterláncok >>> "kakukk" + 'tojas'
>>> "egyik 'szoveg'" + ' masik "szoveg"' 'egyik \'szoveg\' masik "szoveg"' >>> "hali"*2 + "ho" 'halihaliho' >>> szoveg = "szoveg" >>> szoveg[2] 'o' >>> szoveg[2:5] 'ove' >>> szoveg[3:] 'veg' >>> szoveg[:10] 'szoveg' >>> szoveg[1:0] '' >>> szoveg[-2] 'e' >>> szoveg[-6:-3] 'szo' >>> szoveg[-8:] 'szoveg' >>> szoveg[:-2] 'szov' >>> szoveg[1:-2] 'zov' s s z o v e g 1 2 3 4 5 6 -6 -5 -4 -3 -2 -1

14 Típusok + műveleteik Listák Karakterláncokra a felülírás nem működik
>>> lista = ["szo", 12, 3.5] >>> lista[1] 12 >>> lista[1:3] [12, 3.5] >>> lista[0:-1] ['szo', 12] >>> lista[1] = 24 >>> lista ['szo', 24, 3.5] >>> lista[2] = lista[2] + 4 ['szo', 24, 7.5] >>> lista[1:2] = [12, "abc", 8] ['szo', 12, 'abc', 8, 7.5] >>> lista[-2:] = [] ['szo', 12, 'abc'] Karakterláncokra a felülírás nem működik >>> szoveg = "almafa" >>> szoveg[2] = 'k' Traceback (most recent call last): File "<pyshell#71>", line 1, in <module> szoveg[2] = 'k' TypeError: 'str' object does not support item assignment

15 Típusok + műveleteik Rendezett n-esek (tuple-k)
>>> tuple = (1, 2, 'abc') >>> tuple (1, 2, 'abc') >>> tuple = 1, 2, 'xyz' (1, 2, 'xyz') >>> tuple[2] 'xyz' >>> tuple[0:1] (1,) >>> tuple[0:2] (1, 2) >>> tuple[2] = 'abc' Traceback (most recent call last): File "<pyshell#22>", line 1, in <module> tuple[2] = 'abc' TypeError: 'tuple' object does not support item assignment >>> (1,2) + (3, 'abc') (1, 2, 3, 'abc') >>> tuple = 1, 2, 'xyz' >>> tuple (1, 2, 'xyz') >>> v1, v2 = tuple[1:3] >>> v1 2 >>> v2 'xyz' >>> (v1,v2) = tuple[0:2] 1

16 Kiíratás >>> x = 4 >>> print x 4
>>> y = "abc" >>> print x,y 4 abc >>> print y + 'de' abcde >>> print "Formázva: %d és %s" % (x,y) Formázva: 4 és abc

17 Vezérlési szerkezetek
Elágazás if feltétel: utasítások ... elif feltétel: else: >>> x = 5 >>> if x < 5: print "Kisebb ötnél!" ... elif x>5: print "Nagyobb ötnél!" ... else: print "x==5" ... x==5

18 Vezérlési szerkezetek
Elágazás >>> x = 5 >>> if x <= 5: print "Kisebbegyenlo ötnél!" ... elif x>5: print "Nagyobb ötnél!" ... else: print "x==5" ... Kisebbegyenlo ötnél! >>> if x < 5: print "Kisebb ötnél!" ... elif x>5: print "Nagyobb ötnél!" ... >>>

19 Feltételek x == y # x egyenlő y -nal x != y # x nem egyenlő y -nal
x > y # x nagyobb, mint y x < y # x kisebb, mint y x >= y # x nagyobb, vagy egyenlő mint y x <= y # x kisebb, vagy egyenlő mint y Szekvenciák (stringek, listák es tuple-k) összehasonlítása a lexikografikus sorrendjük alapján történik. Hamis: False, 0, "", [ ], { }, (), None Igaz: ami nem hamis Logikai műveletek: and, or, not

20 Vezérlési szerkezetek
Elágazás >>> lista = [0,1,2,3,4,5] >>> if lista[6:7]: print "Van hatodik elem" ... else: print "Nincs hatodik elem" ... Nincs hatodik elem >>> if "abc" < 'abd': print "Az 'abc' kisebb!" ... Az 'abc' kisebb! >>> if [1,2,3,4,5] < [3,4,5]: print "Az elso kisebb!" Az elso kisebb!

21 Vezérlési szerkezetek
Ciklus >>> for x in [1,2,3,4]: ... print x ... 1 2 3 4 >>> for x in "abcde": print x a b c d e >>> x 'e' >>> for x in range(4,8): ... print x 4 5 6 7 >>> range(11,15) [11, 12, 13, 14] >>> range(4) [0, 1, 2, 3] >>> range(2,10,3) [2, 5, 8] >>> x = 0 >>> while x<4: print x x += 1 ... 1 2 3

22 Vezérlési szerkezetek
Ciklus >>> x = 0 >>> while x <10: print x if x >5: break x = x + 1 ... 1 2 3 4 5 6 >>> for x in range(12): if x > 6 and x < 10: continue print x ... 1 2 3 4 5 6 10 11

23 Vezérlési szerkezetek
Ciklus >>> x = 23 >>> while x < 6: x = x + 1 ... else: print x ... 23 >>> x = 0 >>> while x < 10: if x > 2: break print "Else ág!" 1 2 3 „Hátultesztelő ciklus” >>> x = 23 >>> while True: x = x + 1 print x if x > 6: break ... 24


Letölteni ppt "Script nyelvek előadás"

Hasonló előadás


Google Hirdetések