02 Podstawy

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


Wyszukiwarka

Podobne podstrony:
02 podstawowe definicje
10 02 podstawy endokrynologi
Politechnika Białostocka 02 Podstawowe pneumatyczne układy sterowania ręcznego
02 Podstawy Marketingu 1 Students
02 02 podstawy statyki zadanie 02
02 Podstawy działania sieci komputerowych, Wprowadzenie, Wprowadzenie
02 Podstawowe
Wykład 02, Podstawy Zarządzania UG, wykłady prof. hab Rybicki
2009 02 Podstawowa kinezyterapia u kobiet po mastektomii
02 Wykł 02 PODSTAWY KINEMATYKI
02 PODSTAWOWE POJĘCIA
JS 02 Podstawowe okienka, Programowanie, instrukcje - teoria
02 podstawy rynków finansowychid 3433 ppt
02 Podstawy modelowania
2009 02 Podstawy MySQL [Poczatkujacy]
02 Podstawowe Zabiegi Resuscytacyjne & Automatyczna Defibrylacja Zewnętrzna (BLS&AED)
02 Podstawy dynamiki[2]

więcej podobnych podstron