Transcription of Przewodnik po j¦zyku Python
1 Przewodnik po jezyku Python Wydanie Guido van Rossum Fred L. Drake, Jr., editor 27 paz dziernika 2004. PythonLabs Email: Copyright c 2001 Python Software Foundation. Wszystkie prawa zastrzez one. Copyright c 2000 Wszystkie prawa zastrzez one. Copyright c 1995-2000 Corporation for National Research Initiatives. Wszystkie prawa zastrzez one. Copyright c 1991-1995 Stichting Mathematisch Centrum. Wszystkie prawa zastrzez one. Pe ny tekst licencji oraz opis dopuszczalnego zakresu wykorzystania dokumentu umieszczono na jego kon cu. Streszczenie Python jest atwym do nauczenia, pe nym mocy i si y j ezykiem programowania. Posiada struktury danych wysok- iego poziomu i w prosty, acz efektywny spos b umoz liwia programowanie obiektowe. Sk adnia Pythona jest ele- gancka, a dynamiczny system typ w oraz fakt, iz Python jest interpreterem, powoduje, z e jest idealnym j ezykiem do pisania skrypt w oraz tzw.
2 B yskawicznego rozwijania aplikacji w wielu dziedzinach, oraz na wielu platfor- mach sprz etowo-programowych. Interpreter Pythona oraz bogata biblioteka standardowa sa dost epne w spos b wolny i za darmo, zar wno w postaci z r d owej jak i binarnej (dowolnie dystrybuowanych) na wi ekszos c platform systemowych. Zaintere- sowany uz ytkownik znajdzie wi ecej informacji na stronie internetowej Pythona, Ta sama witryna zawiera r wniez pakiety instalacyjne i odnos niki do wielu pythonowych modu w (wolnych od op at), program w oraz narz edzi jak i dodatkowej dokumentacji. Python daje si e atwo rozszerzac o nowe funkcje i typy danych, kt re moga zostac zaimplementowane w C lub C++ (lub innych j ezykach, kt re moga byc skonsolidowane z modu ami C). Python nadaje si e r wniez do wyko- rzystania jako dodatkowy j ezyk w aplikacjach, jako dodatkowy j ezyk u atwiajacy dopasowanie ich do potrzeb uz ytkownika.
3 Przewodnik ten wprowadza czytelnika w podstawowe za oz enia i cechy Pythona jako j ezyka i systemu. Pomocne b edzie posiadanie interpretera Pythona pod r eka do c wiczen na goraco , aczkolwiek przyk ady sa na tyle czytelne, z e materia ten moz e byc czytany r wniez przy kawie. Opis standardowych obiekt w i modu w znajduje si e w Opisie biblioteki Pythona. Formalna definicja j ezyka przedstawiona jest w Podr eczniku j ezyka Python . Aby pisac rozszerzenia w j ezyku C lub C++ przeczytaj Rozsz- erzanie i wbudowywanie interpretera j ezyka Python oraz Opis Python /C API. Ponadto istnieje kilka ksiaz ek . wg ebiajacych si e w sam j ezyk Python . Przewodnik ten nie usi uje opisac Pythona w spos b wszechstronny, poruszajac kaz da cech e j ezyka, nawet na- jbardziej uz ywana. Zamiast tego informuje czytelnika o wielu wartych zauwaz enia cechach i daje dobre wyobraz e- nie o stylu pisania program w Pythona jak i o jego smaku i zapachu.
4 Po przeczytaniu tego przewodnika, czytelnik b edzie w stanie dowiedziec si e i zrozumiec wiele innych modu w Pythona, kt re zosta y om wione w Opisie biblioteki Pythona. SPIS TRES CI. 1 Wzniecajac apetyt.. 1. Dokad dalej? .. 2. 2 Uz ywanie interpretera Pythona 3. Wywo anie interpretera .. 3. Interpreter i jego s rodowisko .. 4. 3 Nieformalne wprowadzenie do Pythona 7. Uz ywanie Pythona jako kalkulatora .. 7. Pierwsze kroki w programowaniu .. 16. 4 Jeszcze wi ecej sposob w na kontrolowanie programu 19. Instrukcje if .. 19. Instrukcje for .. 19. Funkcja range() .. 20. Instrukcja break i continue oraz klauzule else w p etlach .. 21. Instrukcje pass .. 21. Definiowanie funkcji .. 21. Jeszcze wi ecej o definiowaniu funkcji .. 23. 5 Struktury danych 29. Wi ecej o listach .. 29. Instrukcja del .. 32. Listy niemutowalne i sekwencje.
5 33. S owniki .. 34. Jeszcze troch e o warunkach .. 35. Por wnanie sekwencji i innych typ w .. 35. 6 Modu y 37. Ciag dalszy o modu ach .. 38. Modu y standardowe .. 39. Funkcja dir() .. 40. Pakiety .. 41. 7 Wejs cie i wyjs cie 45. adniejsze formatowanie wyjs cia .. 45. Czytanie z i pisanie do plik w .. 47. 8 B edy i wyjatki 51. B edy sk adni .. 51. Wyjatki .. 51. Obs uga wyjatk w .. 52. Zg aszanie wyjatk w .. 54. Wyjatki definiowane przez uz ytkownika .. 54. i Jak posprzatac . po ba aganiarzu? .. 55. 9 Klasy 57. S owo na temat terminologii .. 57. Przestrzenie i zasi egi nazw w Pythonie .. 58. Pierwszy wglad w klasy .. 59. Luz ne uwagi .. 61. Dziedziczenie .. 63. Zmienne prywatne .. 64. Sztuczki i chwyty .. 65. 10 Co teraz? 67. A Interaktywna edycja i operacje na historii polecen 69. Edycja linii polecen.
6 69. Zast epowanie polecen historycznych .. 69. Funkcje klawiszowe .. 69. Komentarz .. 70. Indeks 71. ii ROZDZIA . PIERWSZY. Wzniecajac apetyt.. Jez eli kiedykolwiek pisa es pokaz ny skrypt, znasz prawdopodobnie to uczucie: z wielka ch ecia chcia bys dodac . jeszcze jedna cech e do programu, ale i tak jest juz zbyt wolny i zbyt duz y oraz wystarczajaco skomplikowany; albo ta nowa w as ciwos c wymaga zaangaz owania funkcji systemowej, kt ra jest dost epna tylko z poziomu C .. Zwykle problem ten nie jest na tyle waz ny, aby wymaga o to przepisania wszystkiego w C, byc moz e wymagana b edzie obecnos c an cuch w znakowych zmiennej d ugos ci lub innych typ w danych (jak uporzadkowane listy lub nazwy plik w), kt re atwo wprowadzic w skrypcie, ale wymagaja mn stwa pracy w C, lub tez po prostu nie znasz tak dobrze C.
7 Inna sytuacja: byc moz e zaistnia a potrzeba pracy z paroma bibliotekami C i zwyczajowy cykl pisanie/kompilacja- /testowanie/rekompilacja jest zbyt wolny. Potrzebujesz czegos szybszego do rozwijania program w. Byc moz e napisa es program, kt ry m g by uz ywac jakiegos j ezyka rozszerzajacego jego moz liwos ci, ale nie chcia bys . projektowac jeszcze jednego j ezyka, pisac i sprawdzac jego interpreter i dopiero wples c go w swoja aplikacj e. W powyz szych przypadkach Python moz e byc w as nie tym, czego szukasz. Python jest prosty w uz yciu lecz jest prawdziwym j ezykiem programowania, kt ry oferuje o wiele wi ecej struktur i pomocnych w as ciwos ci dla duz ych program w w por wnaniu z j ezykiem pow oki. Z drugiej strony, posiada o wiele wi ecej sposob w wy apania b ed w niz C i b edac j ezykiem bardzo wysokiego poziomu, posiada wbudowane typy danych wysokiego poziomu.
8 Jak rozszerzalne tablice i s owniki, kt rych efektywne zaimplementowanie w C kosztowa yby ci e wiele dni pracy. Z powodu tego, iz typy danych Pythona sa bardzo og lne , nadaja si e do zastosowania w o wiele wi ekszych obszarach problemowych, niz robi to Perl, aczkolwiek duz o rzeczy jest przynajmniej tak atwych w Pythonie jak w powyz szych j ezykach. Python pozwala na podzia twego programu na modu y, kt re moga byc obiektem ponownego uz ycia w innych pythonowych programach. J ezyk dostarczany jest z obszernym zbiorem standardowych modu w, kt re moga byc . podstawowymi sk adnikami twoich program w, lub s uz yc jako przyk ady przy rozpocz eciu nauki programowa- nia w Pythonie. Istnieja r wniez modu y wbudowane w interpreter, majace na celu obs ug e I/O, wywo an syste- mowych, gniazdek lub nawet modu y interfejsu uz ytkownika (GUI), jak np.
9 Tk. Python jest j ezykiem interpretowanym, co oznacza, z e zaoszcz edza ci zauwaz alnie czas w procesie rozwijania oprogramowania, poniewaz nie ma potrzeby kompilacji i aczenia modu w. Interpreter moz e byc uz yty w spos b interaktywny, co pomaga w eksperymentowaniu z w as ciwos ciami j ezyka, pisaniu podr ecznych program w lub testowaniu funkcji podczas rozwijania programu (ang. bottom-up developement). Jest tez podr ecznym biurkowym kalkulatorem. Python umoz liwia pisanie bardzo zwartych i czytelnych program w. Programy napisane w nim, sa zwykle o wiele kr tsze, niz odpowiedniki napisane w C lub C++, a to dlatego z e: typy danych wysokiego poziomu pozwalaja wyrazic z oz one operacje w pojedynczej instrukcji;. grupowanie polecen uzyskuje si e poprzez indentacj e (wcinanie wierszy) zamiast uz ywania s w kluczowych begin/end lub nawias w klamrowych.
10 Nie potrzeba deklarowac zmiennych lub argument w wywo an ;. Python jest rozszerzalny: jes li znasz j ezyk C, to atwo b edzie ci dodac nowa funkcj e wbudowana lub modu do interpretera, zar wno aby zrobic jakas . krytyczna pod wzgl edem czasu wykonania operacj e jak i w aczyc do Pythona bibliotek e, kt ra byc moz e jest dost epna tylko w formie binarnej (np. jakas specjalistyczna biblioteka 1. graficzna). Jak tylko poczujesz pewny grunt pod nogami, b edziesz m g w aczyc . interpreter Pythona w aplikacj e napisana w C i uz ywac go jako rozszerzenia lub j ezyka komend w tej aplikacji. A'propos, j ezyk zosta tak nazwany w s lad za programem telewizyjnym BBC Latajacy cyrk Monty Pythona . ( Monty Python 's Flying Circus ) i nie ma nic wsp lnego z tymi okropnymi w ez ami. Nie tylko pozwalamy na wprowadzanie odniesien do Monty Pythona w dokumentacji, lecz r wniez zach ecamy do tego!
