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 (tavalyi 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 Futtatás Interaktívan matej@matej-laptop:~$ python
Python (r264:75706, Dec , 18:45:15) [GCC 4.4.1] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> print "Hello!" Hello! >>>

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

6 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 … …

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

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

9 É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

10 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 >>> >>> ( j) + (3 + 1J) (4+3j) >>> 1j * 1j (-1+0j) >>> complex(3,4) (3+4j) >>> complex(1,1) * 1j (-1+1j)

11 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

12 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

13 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

14 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') >>> v1, v2 = tuple[1:3] >>> v1 2 >>> v2 'xyz' >>> (v1,v2) = tuple[0:2] 1

15 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

16 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

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

18 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

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

20 Vezérlési szerkezetek
Ciklus >>> while x < 4 : print x x += 1 1 2 3 >>> for x in [1,2,3,4] : print x 1 2 3 4 >>> for x in "abcde" : a b c d 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]

21 Vezérlési szerkezetek
Ciklus >>> x = 23 >>> while x < 6 : x = x + 1 else: print x 23 >>> while x < 10 : if x > 2: break print "Else ág!" 1 2 3 >>> 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


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

Hasonló előadás


Google Hirdetések