background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

1

Podstawy

Podstawy

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

2

Plan prezentacji

Plan prezentacji

Garść informacji

Garść informacji

Komentarze

Komentarze

Stringi

Stringi

Wbudowane typy liczbowe

Wbudowane typy liczbowe

Systemy liczbowe

Systemy liczbowe

Działania

Działania

Zmienne

Zmienne

Konstrukcja print

Konstrukcja print

Pobieranie danych

Pobieranie danych

Operatory porównań

Operatory porównań

Konstrukcja if

Konstrukcja if

Konstrukcja if   else

Konstrukcja if   else

Konstrukcja if   elif   else

Konstrukcja if   elif   else

Pętla while

Pętla while

Pętla while   else

Pętla while   else

Pętla for

Pętla for

Pętla for   else

Pętla for   else

instrukcje: continue, break i pass

instrukcje: continue, break i pass

Sekwencyjne typy danych

Sekwencyjne typy danych

Stringi

Stringi

Krotki

Krotki

Listy

Listy

Słowniki

Słowniki

Zbiory

Zbiory

For dla sekwencyjnych typów danych

For dla sekwencyjnych typów danych

Odczyt pliku na przykładzie funkcji for

Odczyt pliku na przykładzie funkcji for

Funkcje

Funkcje

Klasy

Klasy

Wyjątki

Wyjątki

Importowanie modułów

Importowanie modułów

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

3

Paradygmaty

Paradygmaty

Python wspiera opiera się na 

Python wspiera opiera się na 

trzech paradygmatach

trzech paradygmatach

Strukturalnym

Strukturalnym

Obiektowym

Obiektowym

Funkcjonalnym

Funkcjonalnym

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

4

Prosta i czytelna składnia

Prosta i czytelna składnia

Elegancja kodu przez wymuszenie 

Elegancja kodu przez wymuszenie 

stosowania wcięć

stosowania wcięć

def factorial(value):

def factorial(value):

    

    

if value == 0:

if value == 0:

        

        

return 1

return 1

    

    

else:

else:

        

        

return value * factorial(value - 1)

return value * factorial(value - 1)

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

5

Dostępne tryby

Dostępne tryby

Batch mode

Batch mode

python moj_program.py

python moj_program.py

Interactive mode

Interactive mode

$ python

$ python

>>> 2 + 2

>>> 2 + 2

4

4

>>> 'Ala ma kota'

>>> 'Ala ma kota'

'Ala ma kota'

'Ala ma kota'

>>> quit()

>>> quit()

$

$

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

6

Komentarze

Komentarze

# Do końca linii

# Do końca linii

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

7

Stringi

Stringi

String jednolinijkowy z użyciem apostrofów

String jednolinijkowy z użyciem apostrofów

'Jednolinijkowy'

'Jednolinijkowy'

String jednolinijkowy z użyciem cudzysłowia

String jednolinijkowy z użyciem cudzysłowia

Jednolinjkowy

Jednolinjkowy

String wielolinijkowy

String wielolinijkowy

”””

”””

Wielo-

Wielo-

      -linijkowy”””

      -linijkowy”””

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

8

Wbudowane typy liczbowe

Wbudowane typy liczbowe

Liczby całkowite   int

Liczby całkowite   int

-13, 7776

-13, 7776

konwersja: int(liczba)

konwersja: int(liczba)

Duże liczby całkowite   long

Duże liczby całkowite   long

99999999999999999L, -777777777777777l

99999999999999999L, -777777777777777l

konwersja: long(liczba)

konwersja: long(liczba)

Liczby zmiennoprzecinkowe   float

Liczby zmiennoprzecinkowe   float

12.3, 0.5

12.3, 0.5

konwersja: float(liczba) 

konwersja: float(liczba) 

Liczby zespolone   complex

Liczby zespolone   complex

3 + 2j

3 + 2j

konwersja: complex(liczba)

konwersja: complex(liczba)

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

9

Systemy liczbowe

Systemy liczbowe

Ósemkowy   poprzedzamy 0

Ósemkowy   poprzedzamy 0

07776, 017140

07776, 017140

konwersja: oct(0x7776), oct(7776)

konwersja: oct(0x7776), oct(7776)

Dziesiętny   domyślny

Dziesiętny   domyślny

przykład: 7776, 10000

przykład: 7776, 10000

konwersja: int(07776), int(0x7776)

konwersja: int(07776), int(0x7776)

Hexadecymalny   poprzedzamy 0x

Hexadecymalny   poprzedzamy 0x

przykład: 0x7776, 0x1e60

przykład: 0x7776, 0x1e60

konwersja: hex(07776), hex(7776)

konwersja: hex(07776), hex(7776)

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

10

Wbudowana działania języka

Wbudowana działania języka

+ dodawanie

+ dodawanie

- odejmowanie

- odejmowanie

* mnożenie

* mnożenie

/ dzielenie

/ dzielenie

% reszta z dzielenia (modulo)

% reszta z dzielenia (modulo)

** podnoszenie do potęgi

** podnoszenie do potęgi

// podłoga z dzielenia

// podłoga z dzielenia

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

11

Zmienne

Zmienne

Automatycznie określany typ

Automatycznie określany typ

liczba = 76

liczba = 76

ocena = 5.5

ocena = 5.5

wydzial = 'FtiMS'

wydzial = 'FtiMS'

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

12

Wypisywanie wyników

Wypisywanie wyników

print  Napis

print  Napis

# Napis\n

# Napis\n

print 'Jan' + 'Kowalski'

print 'Jan' + 'Kowalski'

# JanKowalski\n

# JanKowalski\n

print 'Jan'  Kowalski

print 'Jan'  Kowalski

#  JanKowalski\n

#  JanKowalski\n

print ocena

print ocena

# 5.5\n

# 5.5\n

print liczba

print liczba

# 76\n

# 76\n

print wydzial

print wydzial

# FTiMS\n

# FTiMS\n

print

print

# \n

# \n

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

13

Wypisywanie wyników

Wypisywanie wyników

print  Wydzial:   + wydzial +  \n  \

„ ”

print  Wydzial:   + wydzial +  \n  \

„ ”

      +  Ocena:   + str(ocena) +  \n  \

„ ”

      +  Ocena:   + str(ocena) +  \n  \

„ ”

      +  Album:   + str(liczba) +  \n

„ ”

      +  Album:   + str(liczba) +  \n

„ ”

Wydzial: FtiMS

Wydzial: FtiMS

Ocena 5.5

Ocena 5.5

Album: 76

Album: 76

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

14

Pobieranie danych

Pobieranie danych

Jako tekst:

Jako tekst:

liczba = raw_input('Podaj liczbę: ')

liczba = raw_input('Podaj liczbę: ')

Jako liczbę:

Jako liczbę:

liczba = input('Podaj liczbę: ')

liczba = input('Podaj liczbę: ')

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

15

Operatory porównań

Operatory porównań

Operator mniejszości

Operator mniejszości

1 < 2 

1 < 2 

# True

# True

Operator większości

Operator większości

77 > 66 

77 > 66 

# True

# True

Mniejsze lub równe

Mniejsze lub równe

17 <= 17 

17 <= 17 

# True

# True

Większe lub równe

Większe lub równe

37 >= 36 

37 >= 36 

# True

# True

Operator równości

Operator równości

7 == 7.0 

7 == 7.0 

# True

# True

Operator nierówności

Operator nierówności

6 != 7 

6 != 7 

# True

# True

Operator identyczność

Operator identyczność

7 is 7.0 

7 is 7.0 

# False

# False

Operator zaprzeczenia

Operator zaprzeczenia

not False 

not False 

# True

# True

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

16

Struktura if

Struktura if

if liczba  == 2:

if liczba  == 2:

    

    

print  Nie zdałeś !

print  Nie zdałeś !

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

17

Struktura if - else

Struktura if - else

if liczba  == 2:

if liczba  == 2:

    

    

print  Nie zdałeś !

print  Nie zdałeś !

else:

else:

    

    

print  Zdałeś !

print  Zdałeś !

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

18

Struktura if   elif - else

Struktura if   elif - else

if liczba  == 2:

if liczba  == 2:

    

    

print  Nie zdałeś !

print  Nie zdałeś !

elif liczba < 0:

elif liczba < 0:

    

    

print  Mniej niż zeroooo, mniej niż zeroooo !

print  Mniej niż zeroooo, mniej niż zeroooo !

else:

else:

    

    

print  Zdałeś !

print  Zdałeś !

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

19

Struktura if   elif - else

Struktura if   elif - else

W warunkach możemy używać

W warunkach możemy używać

not

not

   zaprzeczenie (negacja)

   zaprzeczenie (negacja)

if not czy_zalogowany:

if not czy_zalogowany:

and

and

   iloczyn logiczny (koniunkcja)

   iloczyn logiczny (koniunkcja)

if zalogowany and admin:

if zalogowany and admin:

or

or

   suma logiczna (alternatywa)

   suma logiczna (alternatywa)

if moderator or administrator:

if moderator or administrator:

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

20

Struktura switch

Struktura switch

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

21

Klauzula else

Klauzula else

Klauzula else występuje w niemalże każdej 

Klauzula else występuje w niemalże każdej 

instrukcji blokowej wspieranej przez Pythona. 

instrukcji blokowej wspieranej przez Pythona. 

Między innymi w: if, for, while, try

Między innymi w: if, for, while, try

Wykonuje się ona gdy  warunek  jest, po raz 

Wykonuje się ona gdy  warunek  jest, po raz 

pierwszy, nie spełniony

pierwszy, nie spełniony

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

22

Pętla while

Pętla while

i = 0

i = 0

while i < 10:

while i < 10:

    

    

print i

print i

    

    

i = i +1

i = i +1

0

0

1

1

2

2

3

3

4

4

5

5

6

6

7

7

8

8

9

9

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

23

Pętla while - else

Pętla while - else

i = 0

i = 0

while i < 10:

while i < 10:

    

    

print i

print i

    

    

i = i +1

i = i +1

else:

else:

    

    

print 'else'

print 'else'

0

0

1

1

2

2

3

3

4

4

5

5

6

6

7

7

8

8

9

9

else

else

http://docs.python.org/reference/compound_stmts.html#the-while-statement

http://docs.python.org/reference/compound_stmts.html#the-while-statement

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

24

Pętla for

Pętla for

Generowanie zakresu

Generowanie zakresu

 

 

range (start, stop, krok)

range (start, stop, krok)

 

 

xrange (start, stop, krok) 

xrange (start, stop, krok) 

# oszczędność pamięci !

# oszczędność pamięci !

krok   domyślnie 1

krok   domyślnie 1

http://docs.python.org/library/functions.html#range

http://docs.python.org/library/functions.html#range

http://docs.python.org/library/functions.html#xrange

http://docs.python.org/library/functions.html#xrange

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

25

Pętla for

Pętla for

for i in range(0, 10):

for i in range(0, 10):

    print i

    print i

0

0

1

1

2

2

3

3

4

4

5

5

6

6

7

7

8

8

9

9

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

26

Pętla for - else

Pętla for - else

for i in range(0, 10):

for i in range(0, 10):

    print i

    print i

else:

else:

    print 'else'

    print 'else'

0

0

1

1

2

2

3

3

4

4

5

5

6

6

7

7

8

8

9

9

else

else

http://docs.python.org/reference/compound_stmts.html#the-for-statement

http://docs.python.org/reference/compound_stmts.html#the-for-statement

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

27

continue i break, pass

continue i break, pass

Przeskocz do następnego cyklu pętli

Przeskocz do następnego cyklu pętli

continue

continue

Przerwij aktualnie wykonywaną pętlę

Przerwij aktualnie wykonywaną pętlę

break

break

Instrukcja pusta

Instrukcja pusta

pass

pass

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

28

Typy sekwencyjne

Typy sekwencyjne

Stringi

Stringi

Krotki

Krotki

Listy

Listy

Słowniki

Słowniki

Zbiory

Zbiory

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

29

Stringi

Stringi

napis =  Napisy na murach kłamią

napis =  Napisy na murach kłamią

len(napis)

len(napis)

24

24

napis[1] 

napis[1] 

a

a

napis[7]

napis[7]

n

n

napis[-1]

napis[-1]

ą

ą

napis[10:16]

napis[10:16]

murach

murach

napis[10:-1]

napis[10:-1]

murach kłamią

murach kłamią

http://docs.python.org/tutorial/introduction.html#strings

http://docs.python.org/tutorial/introduction.html#strings

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

30

Krotki - niezmienne

Krotki - niezmienne

krotka = (1, 'dwa', 3.3)

krotka = (1, 'dwa', 3.3)

len(krotka)

len(krotka)

3

3

krotka[1]

krotka[1]

dwa

dwa

krotka[-1]

krotka[-1]

3.3

3.3

krotka[0:1]

krotka[0:1]

(1,)

(1,)

krotka[0:-1]

krotka[0:-1]

(1, 'dwa')

(1, 'dwa')

http://docs.python.org/tutorial/datastructures.html#tuples-and-sequences

http://docs.python.org/tutorial/datastructures.html#tuples-and-sequences

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

31

Listy - zmienne

Listy - zmienne

lista = [1, 'dwa', 3.3]

lista = [1, 'dwa', 3.3]

len[lista]

len[lista]

3

3

lista[1]

lista[1]

dwa

dwa

lista[-1]

lista[-1]

3.3

3.3

lista[0:1]

lista[0:1]

[1,]

[1,]

lista[0:-1]

lista[0:-1]

[1, 'dwa']

[1, 'dwa']

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

32

Listy - zmienne

Listy - zmienne

lista = [1, 'dwa', 3.3]

lista = [1, 'dwa', 3.3]

lista[0] = 'jeden'

lista[0] = 'jeden'

['jeden', 'dwa', 3.3]

['jeden', 'dwa', 3.3]

lista[1:3] = [2, 'trzy']

lista[1:3] = [2, 'trzy']

['jeden', 2, 'trzy']

['jeden', 2, 'trzy']

del(lista[0])

del(lista[0])

[2,'trzy']

[2,'trzy']

lista[2] = 5

lista[2] = 5

[2,'trzy', 5]

[2,'trzy', 5]

http://docs.python.org/tutorial/introduction.html#lists

http://docs.python.org/tutorial/introduction.html#lists

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

33

Słowniki - zmienne

Słowniki - zmienne

slownik = {'imie':  Kubuś  , 'wiek': 1.5}

slownik = {'imie':  Kubuś  , 'wiek': 1.5}

len(slownik)

len(slownik)

2

2

slownik['imie']

slownik['imie']

Kubuś

Kubuś

slownik['wiek']

slownik['wiek']

1.5

1.5

slownik['pierwsze_slowo'] = 'Mama'

slownik['pierwsze_slowo'] = 'Mama'

{'imie':  Kubuś , ''pierwsze_slowo': 'Mama', 'wiek': 1.5 }

{'imie':  Kubuś , ''pierwsze_slowo': 'Mama', 'wiek': 1.5 }

del(slownik['wiek'])

del(slownik['wiek'])

{'imie':  Kubuś , 'pierwsze_slowo': 'Mama'}

{'imie':  Kubuś , 'pierwsze_slowo': 'Mama'}

slownik['roczek'] = 'drugi'

slownik['roczek'] = 'drugi'

{'imie':  Kubuś , 'pierwsze_slowo': 'Mama', 'roczek': ;drugi'}

{'imie':  Kubuś , 'pierwsze_slowo': 'Mama', 'roczek': ;drugi'}

http://docs.python.org/tutorial/datastructures.html#dictionaries

http://docs.python.org/tutorial/datastructures.html#dictionaries

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

34

Zbiory

Zbiory

schronisko1 = set(['kot', 'pies', 'krowa', 'kura'])

schronisko1 = set(['kot', 'pies', 'krowa', 'kura'])

schronisko2 = frozenset(['kot', 'pies', 'szop', 'pluszowy miś'])

schronisko2 = frozenset(['kot', 'pies', 'szop', 'pluszowy miś'])

len(schronisko2)

len(schronisko2)

4

4

schronisko1 & schronisko2

schronisko1 & schronisko2

set(['kot', 'pies'])

set(['kot', 'pies'])

schronisko1 | schronisko2

schronisko1 | schronisko2

set(['szop', 'pies', 'kura', 'krowa', 'pluszowy miś', 'kot'])

set(['szop', 'pies', 'kura', 'krowa', 'pluszowy miś', 'kot'])

schronisko1   schronisko2

schronisko1   schronisko2

set(['krowa, 'kura'])

set(['krowa, 'kura'])

schronisko1 ^ schronisko 2

schronisko1 ^ schronisko 2

set(['szop',  'kura, 'krowa', 'pluszowy miś'])

set(['szop',  'kura, 'krowa', 'pluszowy miś'])

schronisko1 >= set(['kot', 'pies'])

schronisko1 >= set(['kot', 'pies'])

True

True

schronisko2 <= set(['kot', 'pies'])

schronisko2 <= set(['kot', 'pies'])

False

False

'krowa' in schronisko2

'krowa' in schronisko2

False

False

http://docs.python.org/tutorial/datastructures.html#sets

http://docs.python.org/tutorial/datastructures.html#sets

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

35

Pętla for - napisy

Pętla for - napisy

napis =  Napisy na murach kłamią

napis =  Napisy na murach kłamią

for litera in napis:

for litera in napis:

    

    

print litera

print litera

N

N

a

a

p

p

i

i

s

s

y

y

n

n

a

a

m

m

u

u

r

r

a

a

c

c

h

h

k

k

ł

ł

a

a

m

m

i

i

ą

ą

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

36

Pętla for - krotki

Pętla for - krotki

krotka = (1, 'dwa', 3.3)

krotka = (1, 'dwa', 3.3)

for element in krotka:

for element in krotka:

    

    

print element

print element

1

1

'dwa'

'dwa'

3.3

3.3

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

37

Pętla for - krotki

Pętla for - krotki

krotka = (1, 'dwa', 3.3)

krotka = (1, 'dwa', 3.3)

for nr, element in enumerate(krotka):

for nr, element in enumerate(krotka):

    

    

print str(nr) + ': ' + str(element)

print str(nr) + ': ' + str(element)

0: 1

0: 1

1: dwa

1: dwa

2: 3.3

2: 3.3

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

38

Pętla for - listy

Pętla for - listy

lista = [1, 'dwa', 3.3]

lista = [1, 'dwa', 3.3]

for element in lista:

for element in lista:

    

    

print element

print element

1

1

'dwa'

'dwa'

3.3

3.3

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

39

Pętla for - listy

Pętla for - listy

lista = [1, 'dwa', 3.3]

lista = [1, 'dwa', 3.3]

for nr, element in enumerate(lista):

for nr, element in enumerate(lista):

    

    

print str(nr) + ': ' + str(element)

print str(nr) + ': ' + str(element)

0: 1

0: 1

1: dwa

1: dwa

2: 3.3

2: 3.3

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

40

Pętla for - słowniki

Pętla for - słowniki

slownik = {'imie':  Kubuś , 'wiek': 1.5}

slownik = {'imie':  Kubuś , 'wiek': 1.5}

for klucz, wartosc in slownik:

for klucz, wartosc in slownik:

    

    

print str(klucz) + ': ' + str(wartosc)

print str(klucz) + ': ' + str(wartosc)

imie: Kubuś

imie: Kubuś

wiek: 1.5

wiek: 1.5

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

41

Pętla for - słowniki

Pętla for - słowniki

slownik = {'imie':  Kubuś , 'wiek': 1.5}

slownik = {'imie':  Kubuś , 'wiek': 1.5}

for klucz, wartosc in slownik:

for klucz, wartosc in slownik:

    

    

print str(klucz) + ': ' + str(wartosc)

print str(klucz) + ': ' + str(wartosc)

kopie

kopie

                   

                   

dostęp do elementów

dostęp do elementów

keys()                   iterkeys()

keys()                   iterkeys()

values()                itervalues()

values()                itervalues()

items()                 iteritems()

items()                 iteritems()

imie: Kubuś

imie: Kubuś

wiek: 1.5

wiek: 1.5

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

42

Pętla for - zbiory

Pętla for - zbiory

schronisko = set(['krowa', 'kot', 'kura', 

schronisko = set(['krowa', 'kot', 'kura', 

'pies'])

'pies'])

for zwierzak in schronisko:

for zwierzak in schronisko:

    

    

print zwierzak

print zwierzak

krowa

krowa

kot

kot

kura

kura

pies

pies

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

43

Pętla for   pliki

Pętla for   pliki

plik = open('./loremipsum.txt', 'r')

plik = open('./loremipsum.txt', 'r')

for linijka in plik:

for linijka in plik:

    

    

print linijka

print linijka

Lorem ipsum dolor sit amet, 

Lorem ipsum dolor sit amet, 

consectetuer adipiscing elit. Nunc 

consectetuer adipiscing elit. Nunc 

rutrum nunc congue mi. Sed 

rutrum nunc congue mi. Sed 

rhoncus felis at augue. Praesent 

rhoncus felis at augue. Praesent 

ultrices vestibulum libero. Ut quis 

ultrices vestibulum libero. Ut quis 

lectus. Fusce in sapien. Etiam quis 

lectus. Fusce in sapien. Etiam quis 

enim. Proin scelerisque tincidunt 

enim. Proin scelerisque tincidunt 

orci. Quisque molestie 

orci. Quisque molestie 

condimentum arcu. Vivamus odio. 

condimentum arcu. Vivamus odio. 

Etiam eu enim. 

Etiam eu enim. 

http://docs.python.org/tutorial/datastructures.html#looping-techniques

http://docs.python.org/tutorial/datastructures.html#looping-techniques

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

44

Definiowanie funkcji

Definiowanie funkcji

Funkcji używamy z użyciem słowa kluczowego 

Funkcji używamy z użyciem słowa kluczowego 

def

def

def szescian(x):

def szescian(x):

    

    

return x*x*x

return x*x*x

szescian(2) 

szescian(2) 

# 8

# 8

szescian(3) 

szescian(3) 

# 27

# 27

szescian(10) 

szescian(10) 

# 1000

# 1000

szescian(777)

szescian(777)

 # 469097433

 # 469097433

http://docs.python.org/tutorial/controlflow.html#defining-functions

http://docs.python.org/tutorial/controlflow.html#defining-functions

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

45

Definiowanie klasy

Definiowanie klasy

Klasę definiujemy z użyciem słowa class

Klasę definiujemy z użyciem słowa class

Każda klasa dziedziczy po object

Każda klasa dziedziczy po object

class MojaKlasa(object):

class MojaKlasa(object):

    

    

pass

pass

http://docs.python.org/tutorial/controlflow.html#defining-functions

http://docs.python.org/tutorial/controlflow.html#defining-functions

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

46

Pola klasy

Pola klasy

Domyślnie wszystkie pola klas są publiczne

Domyślnie wszystkie pola klas są publiczne

class Student(object):

class Student(object):

pass

pass

studentka1 = Student()

studentka1 = Student()

studentka1.imie = 'Małgorzata'

studentka1.imie = 'Małgorzata'

studentka1.nazwisko = 'Noybauer'

studentka1.nazwisko = 'Noybauer'

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

47

Pola klasy

Pola klasy

Pola klasy definiujemy w konstruktorze - 

Pola klasy definiujemy w konstruktorze - 

metodzie __init__()

metodzie __init__()

class Student(object):

class Student(object):

def __init__(self):

def __init__(self):

        

        

self.imie = ''

self.imie = ''

studentka1 = Student()

studentka1 = Student()

studentka1.imie = 'Małgorzata'

studentka1.imie = 'Małgorzata'

studentka1.nazwisko = 'Noybauer'

studentka1.nazwisko = 'Noybauer'

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

48

Metody klas

Metody klas

Każda metoda jako pierwszy parametr przyjmuje 

Każda metoda jako pierwszy parametr przyjmuje 

obiekt, do którego należy - self

obiekt, do którego należy - self

class Student(object):

class Student(object):

    

    

def inicjaly(self):

def inicjaly(self):

        

        

return self.imie[0] +  .  + self.nazwisko[0] +  .

„ ”

„ ”

return self.imie[0] +  .  + self.nazwisko[0] +  .

„ ”

„ ”

stud = Student()

stud = Student()

stud.imie = 'Ruzia'

stud.imie = 'Ruzia'

stud.Nazwisko = 'Kowalska'

stud.Nazwisko = 'Kowalska'

print stud.inicjaly()

print stud.inicjaly()

R.K.

R.K.

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

49

Wyjątki

Wyjątki

Błędy w języku komunikowane są przez 

Błędy w języku komunikowane są przez 

zgłaszane wyjątki. Tak na przykład gdy 

zgłaszane wyjątki. Tak na przykład gdy 

próbujemy wyświetlić coś co nie istnieje

próbujemy wyświetlić coś co nie istnieje

slownik = {'novum': 'aula'}

slownik = {'novum': 'aula'}

try:

try:

    

    

print slownik['nowy']

print slownik['nowy']

except KeyError:

except KeyError:

    

    

print 'Error. Klucz nowy nie istnieje'

print 'Error. Klucz nowy nie istnieje'

    

    

return -1

return -1

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

50

Importowanie z innych bibliotek

Importowanie z innych bibliotek

Do ładowania innych bibliotek służy słowo 

Do ładowania innych bibliotek służy słowo 

kluczowe import. Po zaimportowaniu modułu 

kluczowe import. Po zaimportowaniu modułu 

wszystkie funkcje zawarte są w przestrzeni 

wszystkie funkcje zawarte są w przestrzeni 

nazw o tej samej nazwie.

nazw o tej samej nazwie.

import math

import math

math.sqrt(4)

math.sqrt(4)

math.log10(1000)

math.log10(1000)

math.sin(math.pi)

math.sin(math.pi)

http://docs.python.org/tutorial/modules.html#importing-from-a-package

http://docs.python.org/tutorial/modules.html#importing-from-a-package


Document Outline