python. wprowadzenie scan.pdf

(21759 KB) Pobierz
892370829.001.png
Rozdział 3.
Przypisanie............................................................................................................................... 82
Wyraenia ................................................................................................................................ 85
Instrukcja print......................................................................................................................... 86
Testy if ..................................................................................................................................... 87
P tle while................................................................................................................................ 94
P tle for.................................................................................................................................... 97
Niespodzianki spotykane w kodzie ....................................................................................... 102
Podsumowanie....................................................................................................................... 103
,wiczenia............................................................................................................................... 104
Rozdział 4.
Dlaczego naley stosowa funkcje? ...................................................................................... 107
Podstawy funkcji.................................................................................................................... 108
Zakresy działania w funkcjach .............................................................................................. 111
Przekazywanie argumentów .................................................................................................. 114
Informacje dodatkowe ........................................................................................................... 120
Niespodzianki w funkcjach.................................................................................................... 126
Podsumowanie....................................................................................................................... 131
,wiczenia............................................................................................................................... 132
Rozdział 5. !"
Dlaczego uywa si modułów? ............................................................................................. 135
Podstawowe informacje o modułach..................................................................................... 136
Pliki modułowe s) przestrzeniami nazw ............................................................................... 138
Model importu ....................................................................................................................... 140
Ponowne ładowanie modułów............................................................................................... 142
Informacje dodatkowe ........................................................................................................... 144
Modułowe niespodzianki....................................................................................................... 151
Podsumowanie....................................................................................................................... 156
,wiczenia............................................................................................................................... 156
Rozdział 6. #$"
Dlaczego naley uywa klas? .............................................................................................. 159
Podstawy działania klas......................................................................................................... 160
Uywanie instrukcji class ...................................................................................................... 167
Zastosowania metod klasy..................................................................................................... 168
Dziedziczenie i przeszukiwanie drzew przestrzeni nazw...................................................... 169
Przeci)anie operatorów w klasach....................................................................................... 173
Komplet reguł dla przestrzeni nazw ...................................................................................... 176
Zastosowania klas w programach.......................................................................................... 178
Informacje dodatkowe ........................................................................................................... 188
Niespodzianki w klasach ....................................................................................................... 190
Podsumowanie....................................................................................................................... 196
,wiczenia............................................................................................................................... 196
Rozdział 7. %&
Dlaczego naley uywa wyj)tków?..................................................................................... 201
Podstawy działania wyj)tków................................................................................................ 202
Idiomatyczne okrelenia wyj)tków ....................................................................................... 206
Tryby wychwytywania wyj)tków.......................................................................................... 208
Informacje dodatkowe ........................................................................................................... 211
Wyj)tkowe niespodzianki...................................................................................................... 215
Podsumowanie....................................................................................................................... 217
,wiczenia............................................................................................................................... 218
Cz II .......................................................221
Rozdział 8. '(&&
Funkcje wbudowane .............................................................................................................. 225
Moduły biblioteki .................................................................................................................. 232
,wiczenia............................................................................................................................... 249
Rozdział 9. )&"
Manipulacja strukturami danych ........................................................................................... 251
Manipulacja plikami .............................................................................................................. 257
Manipulacja programami....................................................................................................... 268
Działanie w Internecie ........................................................................................................... 270
Przykłady wi kszych programów.......................................................................................... 273
,wiczenia............................................................................................................................... 278
Rozdział 10. *+,$&
System automatycznego zgłaszania skarg............................................................................. 282
Tworzenie interfejsu za pomoc) COM: tani rzecznik prasowy ............................................ 287
Edytor elementów formularza danych................................................................................... 292
Rozwaania o projektowaniu................................................................................................. 297
JPython: szcz liwy zwi)zek j zyków Python i Java............................................................ 298
Inne osnowy i aplikacje ......................................................................................................... 305
,wiczenia............................................................................................................................... 307
........................................................................................ 309
Dodatek A !-.!)
Dodatek B /+%.0,$1,,&
Dodatek C 2%34&
5"
W rozdziale tym przedstawimy klas jzyka Python, czyli twór, który słuy do wprowadzania no-
wych rodzajów obiektów w Pythonie. Klasy stanowi! najwaniejsze narzdzie programowania
obiektowego, zatem w tym rozdziale omówimy take podstawy tego programowania. Klasy w j-
zyku Python tworzone s! za pomoc! nie omawianej dotychczas instrukcji class. Obiekty zdefi-
niowane za pomoc! klas mog! wygl!da% bardzo podobnie, jak wbudowane typy, które były ju
opisywane w tej ksi!ce.
Na jedn! rzecz naley szczególnie zwróci% uwag: obiektowo(% jzyka Python jest całkowicie
opcjonalna i nie trzeba uywa% klas, by rozpocz!% prac w tym jzyku. Wiele zada) mona w rze-
czywisto(ci wykona% za pomoc! prostszych konstrukcji, takich jak np. funkcje. Klasy okazuj! si
jednak bardzo przydatne w Pythonie i mamy nadziej, e to udowodnimy. Maj! one take swój
udział w powszechnie stosowanych narzdziach jzyka Python, takich jak Tkinter, i wikszo(%
programistów uwaa, e przydaje si tu znajomo(% klas co najmniej w stopniu podstawowym.
Czytelnicy z pewno(ci! pamitaj!, e programy wykonuj! zadania za pomoc! „nadziewania”.
Mówi!c pro(ciej, klasy s! po prostu sposobem definiowania nowych rodzajów nadzienia, które
symbolizuje prawdziwe obiekty w dziedzinie tworzonych programów. Załómy na przykład, e
zdecydowali(my si utworzy% hipotetycznego robota robi!cego pizz (wzmianka w rozdziale 4.).
Je(li do tego celu zastosujemy klasy, to moemy wymodelowa% tak! struktur robota, która bdzie
blisza jego rzeczywistemu (wiatu i stosunkom w nim panuj!cym:
Dziedziczenie
Roboty wytwarzaj!ce pizz nale! do rodzaju robotów i dlatego maj! wszystkie zwyczajne
wła(ciwo(ci robotów. Uywaj!c okre(le) z dziedziny programowania obiektowego, mówimy,
e dziedzicz! one wła(ciwo(ci ogólnej kategorii wszystkich robotów. Te wspólne wła(ciwo(ci
wprowadzone s! tylko raz dla przypadku ogólnego i bd! uywane przez wszystkie typy
robotów budowanych w przyszło(ci.
Kompozycja
Roboty wytwarzaj!ce pizz s! w rzeczywisto(ci kolekcjami komponentów, które działaj!
zespołowo. Aby nasz przykładowy robot był skuteczny, powinien zapewne posiada% ramiona
892370829.002.png 892370829.003.png
Zgłoś jeśli naruszono regulamin