Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00216 007643 13856305 na godz. na dobę w sumie
Python. Leksykon kieszonkowy. Wydanie IV - książka
Python. Leksykon kieszonkowy. Wydanie IV - książka
Autor: Liczba stron: 200
Wydawca: Helion Język publikacji: polski
ISBN: 978-83-246-2686-1 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> programowanie >> python - programowanie
Porównaj ceny (książka, ebook, audiobook).

Python to wyjątkowo praktyczny język programowania, idealnie nadający się do szybkiego rozwiązywania niecodziennych problemów, z którymi często borykają się koderzy. Nie wymusza on stosowania jednego stylu programowania, co pozwala na dużo większą elastyczność w trakcie pisania kodu. Umożliwia programowanie obiektowe, strukturalne i funkcyjne, a ponadto udostępnia zaawansowane mechanizmy zarządzania pamięcią, zapewnia dynamiczne sprawdzanie typów oraz czytelną składnię. Te wszystkie zalety powodują, że Python ma grupę swoich wiernych fanów.

Niniejsza książka należy do popularnej serii 'Leksykon kieszonkowy', dzięki której zawsze i wszędzie możesz przypomnieć sobie wybrane zagadnienia, związane z różną tematyką. Pozycja, którą właśnie trzymasz w rękach, została poświęcona językowi Python. W trakcie jej lektury zapoznasz się z takimi zagadnieniami, jak sterowanie przepływem programu, wykorzystanie pętli, list, słowników oraz operacje na plikach. Ponadto w każdej chwili będziesz mógł sprawdzić składnię oraz sposoby wykorzystania funkcji i wyjątków wbudowanych. Książka stanowi znakomite kompendium wiedzy na temat języka Python. Sprawdzi się ona w rękach początkującego użytkownika - jako przewodnik, a w rękach zaawansowanego programisty - jako pomocnik.

Wyciśnij jeszcze więcej z języka Python!

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

Python. Leksykon kieszonkowy. Wydanie IV Autor: Mark Lutz Tłumaczenie: Radosław Meryk ISBN: 978-83-246-2686-1 Tytuł oryginału: Python Pocket Reference Format: 122×194, stron: 200 • Jakie możliwości kryją standardowe moduły biblioteczne? • Jak wykonywać operacje na plikach? • Jak stworzyć graficzny interfejs użytkownika? Python to wyjątkowo praktyczny język programowania, idealnie nadający się do szybkiego rozwiązywania niecodziennych problemów, z którymi często borykają się koderzy. Nie wymusza on stosowania jednego stylu programowania, co pozwala na dużo większą elastyczność w trakcie pisania kodu. Umożliwia programowanie obiektowe, strukturalne i funkcyjne, a ponadto udostępnia zaawansowane mechanizmy zarządzania pamięcią, zapewnia dynamiczne sprawdzanie typów oraz czytelną składnię. Te wszystkie zalety powodują, że Python ma grupę swoich wiernych fanów. Niniejsza książka należy do popularnej serii „Leksykon kieszonkowy”, dzięki której zawsze i wszędzie możesz przypomnieć sobie wybrane zagadnienia, związane z różną tematyką. Pozycja, którą właśnie trzymasz w rękach, została poświęcona językowi Python. W trakcie jej lektury zapoznasz się z takimi zagadnieniami, jak sterowanie przepływem programu, wykorzystanie pętli, list, słowników oraz operacje na plikach. Ponadto w każdej chwili będziesz mógł sprawdzić składnię oraz sposoby wykorzystania funkcji i wyjątków wbudowanych. Książka stanowi znakomite kompendium wiedzy na temat języka Python. Sprawdzi się ona w rękach początkującego użytkownika – jako przewodnik, a w rękach zaawansowanego programisty – jako pomocnik. • Wbudowane typy i operatory • Działania na liczbach • Operacje na łańcuchach znaków • Wykorzystanie Unicode w Pythonie • Obsługa list oraz słowników • Operacje na zbiorach i plikach • Sterowanie przepływem programu • Konwersja typów • Obsługa wyjątków • Wykorzystanie przestrzeni nazw • Zasięgi zmiennych • Przeciążanie operatorów • Standardowe moduły biblioteczne • Zastosowanie wyrażeń regularnych • Tworzenie graficznego interfejsu użytkownika Wyciśnij jeszcze więcej z języka Python! Idź do • Spis treści • Przykładowy rozdział • Skorowidz Katalog książek • Katalog online • Zamów drukowany katalog Twój koszyk • Dodaj do koszyka Cennik i informacje • Zamów informacje o nowościach • Zamów cennik Czytelnia • Fragmenty książek online Kontakt Helion SA ul. Kościuszki 1c 44-100 Gliwice tel. 32 230 98 63 e-mail: helion@helion.pl © Helion 1991–2011 Wprowadzenie Konwencje Wykorzystanie przykäadowego kodu Opcje wiersza poleceþ Opcje Pythona Specyfikacja programu Zmienne Ĉrodowiskowe Zmienne operacyjne Zmienne opcji wiersza poleceþ Wbudowane typy i operatory Operatory i priorytet ich stosowania Uwagi na temat stosowania operatorów Operacje wedäug kategorii Uwagi na temat dziaäaþ na sekwencjach Specyficzne typy wbudowane Liczby ãaþcuchy znaków ãaþcuchy znaków Unicode Listy Säowniki Krotki Pliki Zbiory Inne popularne typy Konwersje typów Instrukcje i ich skäadnia Reguäy skäadniowe Reguäy dotyczñce nazw Instrukcje Instrukcja przypisania Instrukcja wyraĔeniowa Instrukcja print Spis treļci 7 8 8 9 9 10 12 12 12 13 13 13 16 19 20 20 22 36 39 43 47 48 52 54 55 56 56 57 59 59 61 62 3 Instrukcja if Instrukcja while Instrukcja for Instrukcja pass Instrukcja break Instrukcja continue Instrukcja del Instrukcja def Instrukcja return Instrukcja yield Instrukcja global Instrukcja nonlocal Instrukcja import Instrukcja from Instrukcja class Instrukcja try Instrukcja raise Instrukcja assert Instrukcja with Instrukcje w Pythonie 2.X Przestrzenie nazw i reguäy zasiögu Nazwy kwalifikowane — przestrzenie nazw obiektów Nazwy niekwalifikowane — zasiögi leksykalne Zasiögi zagnieĔdĔone statycznie Programowanie obiektowe Klasy i egzemplarze Atrybuty pseudoprywatne Klasy nowego stylu Metody przeciñĔajñce operatory Wszystkie typy Kolekcje (sekwencje, mapy) Liczby (operatory dwuargumentowe) Liczby (inne dziaäania) Deskryptory MenedĔery kontekstu Metody przeciñĔajñce operatory w Pythonie 2.X Funkcje wbudowane Funkcje wbudowane w Pythonie 2.X 4 _ Python. Leksykon kieszonkowy 64 64 65 65 65 66 66 66 70 70 71 72 72 74 75 77 79 81 81 83 83 83 84 84 86 86 87 88 89 89 93 95 98 98 99 99 102 120 Wbudowane wyjñtki Klasy bazowe (kategorie) Wyjñtki szczegóäowe Wyjñtki kategorii ostrzeĔeþ Framework ostrzeĔeþ Wbudowane wyjñtki w Pythonie 2.X Wbudowane atrybuty Standardowe moduäy biblioteczne Moduä sys Moduä string Funkcje i klasy moduäu Staäe Moduä systemowy os Narzödzia administracyjne Staäe wykorzystywane do zapewnienia przenoĈnoĈci Polecenia powäoki Narzödzia obsäugi Ĉrodowiska Narzödzia obsäugi deskryptorów plików Narzödzia do obsäugi nazw ĈcieĔek Zarzñdzanie procesami Moduä os.path Moduä dopasowywania wzorców re Funkcje moduäu Obiekty wyraĔeþ regularnych Obiekty dopasowania Skäadnia wzorców Moduäy utrwalania obiektów Moduäy dbm i shelve Moduä pickle Moduä GUI tkinter i narzödzia Przykäad uĔycia moduäu tkinter Podstawowe widgety moduäu tkinter Wywoäania okien dialogowych Dodatkowe klasy i narzödzia moduäu tkinter Porównanie biblioteki Tcl/Tk z moduäem tkinter Pythona Moduäy i narzödzia obsäugi internetu Powszechnie uĔywane moduäy biblioteczne 125 125 127 130 131 132 132 133 134 140 140 141 142 142 143 144 145 147 148 151 154 157 157 159 160 161 163 165 166 169 169 169 171 171 172 173 173 Spis treļci _ 5 Inne standardowe moduäy biblioteczne Moduä math Moduä time Moduä datetime Moduäy obsäugi wñtków Parsowanie danych binarnych PrzenoĈny interfejs API dostöpu do baz danych SQL w Pythonie Przykäad uĔycia interfejsu API Interfejs moduäu Obiekty poäñczeþ Obiekty kursora Obiekty typów i konstruktory Idiomy Pythona i wskazówki Wskazówki dotyczñce rdzenia jözyka Wskazówki dotyczñce Ĉrodowiska Wskazówki dotyczñce uĔytkowania RóĔne wskazówki Skorowidz 176 176 176 177 177 178 179 179 180 180 181 182 182 182 184 185 187 189 6 _ Python. Leksykon kieszonkowy Uwagi na temat dziaĥaħ na sekwencjach Indeksowanie — S[i] x Pobranie komponentów ze wskazanych przesuniöè (pierwszy element znajduje siö pod adresem przesuniöcia równym 0). x Indeksy ujemne oznaczajñ zliczanie wstecz od koþca (ostatni element pod adresem przesuniöcia –1). x S[0] pobiera pierwszy element. x S[í2] pobiera przedostatni element (S[len(S) í 2]). Wycinanie — S[i:j] x Wyodröbnia ciñgäñ sekcjö z sekwencji. x DomyĈlnymi granicami wycinka sñ 0 oraz däugoĈè sekwencji. x S[1:3] pobiera elementy sekwencji S od 1. do 3. (bez trzeciego). x S[1:] pobiera elementy sekwencji od 1. do koþca (däugoĈè –1). x S[:í1] pobiera elementy sekwencji od zerowego do przed- ostatniego elementu wäñcznie. x S[:] tworzy päytkñ kopiö obiektu sekwencji S. x Operacje przypisania wycinków sñ podobne do usuwania ele- mentów i póĒniejszego ich wstawiania. Wycinanie — S[i:j:k] x JeĈli wystöpuje trzeci argument k, to jest to krok; jest on dodawany do przesuniöcia kaĔdego wyodröbnionego elementu. x S[::2] pobiera co drugi element sekwencji S. x S[::í1] to odwrócona sekwencja S. x S[4:1:-1] pobiera elementy od 4. do 1. (wyäñcznie) w odwróconej kolejnoĈci. Inne x Operacje konkatenacji, repetycji i wycinania zwracajñ nowe obiekty (w przypadku krotek nie zawsze). Wbudowane typy i operatory _ 19 Specyficzne typy wbudowane W tym podrozdziale opisano liczby, ciñgi znaków, listy, säowniki, krotki, pliki oraz inne zasadnicze typy wbudowane. ZäoĔone typy danych (np. listy, säowniki i krotki) mogñ byè dowolnie zagnieĔdĔane wewnñtrz siebie tak gäöboko, jak potrzeba. ZagnieĔdĔaè moĔna takĔe zbiory, ale mogñ one zawieraè tylko niemutowalne obiekty. Liczby W tym punkcie opisano podstawowe typy liczbowe (caäkowite, zmien- noprzecinkowe), a takĔe bardziej zaawansowane typy danych (liczby zespolone, dziesiötne oraz uäamki). Liczby sñ zawsze niemutowalne (niezmienne). Literaĥy i ich tworzenie Liczby zapisuje siö w formie róĔnych staäych numerycznych: 1234, í24, 0 Liczby caäkowite (nieograniczona precyzja)1. 1.23, 3.14e-10, 4E210, 4.0e+210, 1., .1 Liczby zmiennoprzecinkowe (zwykle implementowane jako typ double jözyka C w implementacji CPython). 0o177, 0x9ff, 0b1111 Literaäy liczb caäkowitych ósemkowe, szesnastkowe i dwójkowe2. 3+4j, 3.0+4.0j, 3J Liczby zespolone. decimal.Decimal( 1.33 ), fractions.Fraction(4, 3) Typy bazujñce na moduäach: liczby dziesiötne, uäamki. 1 W Pythonie 2.6 dla liczb caäkowitych o nieograniczonej precyzji wystöpuje osobny typ o nazwie long. Typ int odpowiada zwykäym liczbom caäkowitym, o precyzji ograniczonej zazwyczaj do 32 bitów. Obiekty typu long mogñ byè kodowane z przyrostkiem „L” (np. 99999L). Zwykäe liczby caäkowite sñ automatycznie promowane do typu long w przypadku, gdy wymagajñ specjalnej dokäadnoĈci. W Pythonie 3.0 typ int zapewnia nieograniczonñ precyzjö, a zatem zawiera w sobie zarówno typ int, jak i long z Pythona 2.6. W wersji 3.0 Pythona usuniöto oznaczenie „L” z literaäów liczbowych. 2 W Pythonie 2.6 literaäy ósemkowe moĔna zapisywaè z wiodñcym zerem — zapisy 0777 i 0o777 sñ sobie równowaĔne. W wersji 3.0 dla literaäów ósemkowych dostöpna jest tylko druga postaè. 20 _ Python. Leksykon kieszonkowy int(), float(), complex() Tworzenie liczb na podstawie innych obiektów lub ciñgów zna- ków z moĔliwoĈciñ podania podstawy konwersji. Wiöcej informacji na ten temat moĔna znaleĒè w podrozdziale „Funkcje wbudo- wane” na stronie 102. Dziaĥania Typy liczbowe obsäugujñ wszystkie dziaäania liczbowe (patrz tabela 6. na stronie 18). W wyraĔeniach z typami mieszanymi Python konwertuje operandy w górö, do „najwyĔszego” typu. W tej hierarchii liczby caäkowite (integer) znajdujñ siö niĔej od zmiennoprzecinkowych, a te z kolei sñ niĔej od liczb zespolonych. W wersjach Pythona 3.0 i 2.6 liczby caäkowite i zmiennoprzecinkowe udostöpniajñ równieĔ szereg metod oraz innych atrybutów. Wiöcej informacji na ten temat moĔna znaleĒè w podröczniku Python Library Reference. (2.5).as_integer_ratio() # atrybuty liczb zmiennoprzecinkowych (5, 2) (2.5).is_integer() False (2).numerator, (2).denominator # atrybuty liczb caákowitych (2, 1) (255).bit_length(), bin(255) # 3.1+ bit_length() (8, 0b11111111 ) Liczby dziesiýtne i uĥamki W Pythonie dostöpne sñ dwa dodatkowe typy liczbowe w standardo- wych moduäach bibliotecznych: liczby dziesiötne (ang. decimal) — to licz- by zmiennoprzecinkowe staäej precyzji — oraz uäamki (ang. fraction) — typ liczbowy, który jawnie przechowuje licznik i mianownik. Oba wymienione typy moĔna wykorzystaè w celu unikniöcia niedokäadnoĈci w wynikach dziaäaþ arytmetyki zmiennoprzecinkowej. 0.1 - 0.3 -0.19999999999999998 from decimal import Decimal Decimal( 0.1 ) - Decimal( 0.3 ) Decimal( -0.2 ) from fractions import Fraction Fraction(1, 10) - Fraction(3, 10) Fraction(-1, 5) Fraction(1, 3) + Fraction(7, 6) Fraction(3, 2) Specyficzne typy wbudowane _ 21 Typ uäamkowy zapewnia automatyczne skracanie wyników. Dziöki staäej precyzji oraz obsäudze róĔnorodnych protokoäów obcinania i przy- bliĔania liczby dziesiötne przydajñ siö do obliczeþ walutowych. Wiöcej informacji na ten temat moĔna znaleĒè w podröczniku Python Library Reference. Inne typy numeryczne W Pythonie jest dostöpny równieĔ typ set (opisano go w podrozdziale „Zbiory” na stronie 52). Dodatkowe typy numeryczne, takie jak wektory i macierze, sñ dostöpne za poĈrednictwem zewnötrznych rozszerzeþ open source (np. w pakiecie NumPy). Dostöpne sñ równieĔ zewnötrzne pakiety do wizualizacji, obliczeþ statystycznych i wiele innych. Ĥaħcuchy znaków Standardowy obiekt str udostöpniajñcy wäasnoĈci äaþcucha znaków to niemutowalna (tzn. niezmienna) tablica znaków, do której dostöp jest moĔliwy za poĈrednictwem indeksu (przesuniöcia). W Pythonie 3.0 dostöpne sñ trzy typy äaþcuchowe o bardzo podobnych interfejsach: x str — niemutowalna sekwencja znaków uĔywana w odniesieniu do wszystkich rodzajów tekstu: zarówno ASCII, jak i Unicode; x bytes — niemutowalna sekwencja krótkich liczb caäkowitych uĔywana do reprezentacji binarnych danych bajtowych; x bytearray — mutowalna wersja typu bytes. Z kolei w Pythonie 2.X wystöpujñ dwa niemutowalne typy äaþcuchowe: str — do reprezentowania 8-bitowych danych tekstowych i binarnych — oraz unicode — dla danych tekstowych Unicode (wiöcej informacji na ich temat moĔna znaleĒè w podrozdziale „ãaþcuchy znaków Unicode” na stronie 36. W Pythonie 2.6 wystöpuje takĔe typ bytearray z Pythona 3.0, ale nie wprowadza on tak ostrego rozgraniczenia pomiödzy danymi tekstowymi a binarnymi (w Pytonie 2.6 moĔna je dowolnie äñczyè z äaþ- cuchami tekstowymi). WiökszoĈè materiaäu w tym podrozdziale dotyczy wszystkich typów äaþcuchowych. Wiöcej informacji na temat typów bytes i bytearray moĔna znaleĒè w podrozdziaäach „Metody klasy String” na stronie 30, „ãaþcuchy znaków Unicode” na stronie 36 oraz „Funkcje wbudowane” na stronie 102. 22 _ Python. Leksykon kieszonkowy Literaĥy i ich tworzenie ãaþcuchy znaków zapisuje siö w postaci serii znaków ujötych w cudzy- säów (apostrofy). Opcjonalnie moĔna je poprzedziè znakiem desygnatora. Python s , Python s Apostrofy i cudzysäowy moĔna stosowaè zamiennie. Wewnñtrz apostrofów moĔna umieszczaè cudzysäowy i na odwrót — we- wnñtrz cudzysäowów apostrofy — bez potrzeby poprzedzania ich znakiem lewego ukoĈnika. To jest blok wielowierszowy Bloki umieszczone w potrójnych cudzysäowach (apostrofach) pozwalajñ na prezentowanie wielu wierszy tekstu w jednym äaþcuchu. Pomiödzy wierszami sñ wstawiane znaczniki koþca wiersza ( ). M c Donalds Sekwencje specjalne poprzedzone lewym ukoĈnikiem (patrz tabela 7.) sñ zastöpowane przez specjalne wartoĈci bajtowe (np. to bajt o dziesiötnej wartoĈci 10). To bĂdzie scalone Sñsiednie staäe äaþcuchowe sñ scalane. JeĈli zostanñ ujöte w na- wiasy, to mogñ obejmowaè wiele wierszy. r surowyĪaĬcuch znaków , R kolejny przykĪad Tzw. „surowe” äaþcuchy znaków (ang. raw strings) — znaki le- wego ukoĈnika wystöpujñce wewnñtrz ciñgów sñ interpretowane literalnie (z wyjñtkiem przypadków, kiedy wystöpujñ na koþcu äaþcucha). Mechanizm ten przydaje siö do prezentowania wy- raĔeþ regularnych oraz ĈcieĔek dostöpu w systemie DOS, np. r c:katalog1plik . Literaäy znakowe opisane poniĔej to specjalizowane äaþcuchy znaków. Szczegóäowo opisano je w podrozdziale „ãaþcuchy znaków Unicode” na stronie 36: b ... Bajtowy literaä tekstowy: sekwencja wartoĈci 8-bitowych bajtów reprezentujñcych „surowe” dane binarne. Taki literaä tworzy typ bytes w Pythonie 3.0 oraz zwykäy ciñg str w Pythonie 2.6 (dla zachowania zgodnoĈci z wersjñ 3.0). Wiöcej informacji na ten temat moĔna znaleĒè w podrozdziaäach „Metody klasy String” na stro- nie 30, „ãaþcuchy znaków Unicode” na stronie 36 oraz „Funkcje wbudowane” na stronie 102. Specyficzne typy wbudowane _ 23 bytearray(...) Tekstowy literaä bytearray — mutowalna wersja typu bytes, dostöpna zarówno w Pythonie w wersji 2.6, jak i 3.0. Wiöcej in- formacji na ten temat moĔna znaleĒè w podrozdziaäach „Meto- dy klasy String” na stronie 30, „ãaþcuchy znaków Unicode” na stronie 36 oraz „Funkcje wbudowane” na stronie 102. u ... Literaä äaþcuchowy Unicode dostöpny wyäñcznie w Pythonie 2.X (w Pythonie 3 kodowanie Unicode jest obsäugiwane przez stan- dardowe obiekty str). Wiöcej informacji na ten temat moĔna zna- leĒè w podrozdziale „ãaþcuchy znaków Unicode” na stronie 36. str(), bytes(), bytearray() Ciñgi znaków tworzone na podstawie obiektów. W Pythonie 3.0 dostöpna jest opcja kodowania (dekodowania) Unicode. Wiöcej informacji na ten temat moĔna znaleĒè w podrozdziale „Funkcje wbudowane” na stronie 102. hex(), oct(), bin() Ciñgi znaków zawierajñcych tekstowe reprezentacje liczb w for- macie ósemkowym, szesnastkowym i dwójkowym. Wiöcej in- formacji na ten temat moĔna znaleĒè w podrozdziale „Funkcje wbudowane” na stronie 102. Literaäy äaþcuchowe mogñ zawieraè sekwencje specjalne reprezen- tujñce bajty o specjalnym znaczeniu. Zestawiono je w tabeli 7. Dziaĥania Wszystkie typy äaþcuchowe obsäugujñ mutowalne dziaäania na sekwen- cjach (opisane wczeĈniej w tabeli 3. na stronie 17) oraz dodatkowo wywoäania metod tekstowych (opisanych w dalszej czöĈci tego pod- rozdziaäu). Dodatkowo typ str obsäuguje wyraĔenia formatowania ciñgów znaków z wykorzystaniem operatora oraz zastöpowanie szablonów. Ponadto typ bytearray obsäuguje dziaäania na sekwencjach mutowalnych (zestawione w tabeli 4. na stronie 17) oraz dodatkowe metody przetwarzania list. Warto równieĔ zapoznaè siö z moduäem dopasowywania wzorców tekstowych re (jego opis znajduje siö w pod- rozdziale „Moduä dopasowywania wzorców tekstowych re” na stro- nie 157), a takĔe z tekstowymi funkcjami wbudowanymi, opisanymi w podrozdziale „Funkcje wbudowane” na stronie 102. 24 _ Python. Leksykon kieszonkowy Tabela 7. Sekwencje specjalne dostöpne dla staäych tekstowych Sekwencja specjalna owywiersz \ a  f Znaczenie Kontynuacja w nowym wierszu Lewy ukoļnik () Apostrof ( ) Cudzysĥów ( ) Sekwencja specjalna v N{id} uhhhh dzwonek (Bell) Uhhhhhhhh Backspace Wysuw strony xhh oooo Wysuw wiersza Powrót karetki inne Znaczenie Tabulacja pozioma Tabulacja pionowa Znak o kodzie Unicode id 16-bitowy szesnastkowy kod Unicode 32-bitowy szesnastkowy kod Unicodea Liczba szesnastkowa (najwyŜej 2 cyfry) Liczba ósemkowa (maksymalnie 3 znaki) Znak Null (nie jest to koniec ĥaħcucha znaków) To nie sé sekwencje specjalne a Uhhhhhhhh zajmuje dokĥadnie osiem cyfr szesnastkowych (h); zarówno sekwencja u, jak i U mogé byë uŜywane wyĥécznie w literaĥach tekstowych Unicode. Formatowanie ĥaħcuchów znaków Zarówno w Pythonie 2.6, jak i 3.0 standardowe äaþcuchy znaków str obsäugujñ dwa róĔne rodzaje formatowania: x wyraĔenie formatujñce z wykorzystaniem operatora : fmt (wartoŁci), x nowy sposób — wywoäanie metody o skäadni: fmt.format ´(wartoŁci). Oba te rodzaje tworzñ nowe ciñgi znaków na podstawie kodów za- stñpieþ. Kody te mogñ byè specyficzne dla róĔnych typów. Uzyskane wyniki moĔna wyĈwietliè lub przypisaè do zmiennych w celu póĒ- niejszego wykorzystania: s, s, .2f (42, spam , 1 / 3.0) 42, spam, 0.33 {0}, {1}, {2:.2f} .format(42, spam , 1 / 3.0) 42, spam, 0.33 ChociaĔ w czasie powstawania tej ksiñĔki sposób bazujñcy na wy- woäaniu metody wydaje siö bardziej rozwojowy, to wyraĔenia for- matujñce sñ powszechnie wykorzystywane w istniejñcym kodzie. Specyficzne typy wbudowane _ 25 W zwiñzku z tym obie formy w dalszym ciñgu sñ w peäni obsäugiwane. Co wiöcej, choè niektórzy postrzegajñ postaè bazujñcñ na wywoäaniu metody jako odrobinö bardziej opisowñ i spójnñ, wyraĔenia sñ czösto prostsze i bardziej zwiözäe. PoniewaĔ opisane dwie formy to w zasadzie niewiele róĔniñce siö odmiany o równowaĔnej sobie funkcjonalnoĈci i zäoĔonoĈci, nie ma dziĈ istotnych powodów, aby w jakiĈ szczególny sposób rekomendowaè jednñ z nich. WyraŜenia formatujéce ĥaħcuchy znaków Dziaäanie wyraĔeþ formatujñcych äaþcuchy znaków bazuje na zastö- powaniu tzw. celów (ang. targets) operatora , wystöpujñcych po jego lewej stronie, wartoĈciami wystöpujñcymi po stronie prawej (podobnie do instrukcji sprintf jözyka C). JeĈli trzeba zastñpiè wiöcej niĔ jednñ wartoĈè, naleĔy je zakodowaè w postaci krotki po prawej stronie ope- ratora . JeĈli zastñpiona ma byè tylko jedna wartoĈè, moĔna jñ zakodo- waè jako pojedynczñ wartoĈè lub jednoelementowñ krotkö (aby zakodo- waè krotkö, naleĔy zastosowaè krotkö zagnieĔdĔonñ). JeĈli po lewej stronie wyraĔenia zostanñ uĔyte nazwy kluczy, po prawej naleĔy umieĈciè säownik. Symbol * pozwala na dynamiczne przekazywanie szerokoĈci i precyzji: Rycerze, którzy mówiî s! Nie Wynik: Rycerze, którzy mówiî Nie! d s d you (1, spam , 4.0) Wynik: 1 spam 4 you (n)d (x)s { n :1, x : spam } Wynik: 1 spam f, .2f, .*f (1/3.0, 1/3.0, 4, 1/3.0) Wynik: 0.333333, 0.33, 0.3333 Cele zastöpowania po lewej stronie operatora w wyraĔeniu formatu- jñcym majñ nastöpujñcy ogólny format: [(nazwaklucza)][flagi][szerokoŁð][.precyzja]kodtypu Czäon nazwaklucza odwoäuje siö do elementu w odpowiednim säowniku; flagi to zbiór znaków o nastöpujñcym znaczeniu: í (wyrównanie do lewej), + (znak liczby), spacja (pozostawienie pustego miejsca przed liczbami dodatnimi) oraz 0 (wypeänianie zerami); szerokoŁð oznacza caäkowitñ szerokoĈè pola; precyzja oznacza liczbö cyfr po kropce, natomiast kodtypu to znak z tabeli 8. Czäony szerokoŁð i precyzja moĔna zakodowaè jako *. W tym przypadku ich wartoĈci bödñ pobrane z nastöpnego elementu wystöpujñcego po prawej stronie operatora . 26 _ Python. Leksykon kieszonkowy Tabela 8. Kody typu formatowania äaþcuchów znaków Kod s r c d i u o x Znaczenie String (lub dowolny obiekt, wykorzystuje str()) to samo co s, ale wykorzystuje metodý repr() zamiast str() Character (int lub str) Decimal (dziesiýtna liczba caĥkowita) Integer to samo co d (przestarzaĥe) Octal (ósemkowa liczba caĥkowita) Hex (szesnastkowa liczba caĥkowita) Kod X e E f P g G Znaczenie typ x zapisany wielkimi literami liczba zmiennoprzecinkowa w postaci wykĥadniczej e z wielkimi literami dziesiýtna liczba zmiennoprzecinkowa f z wielkimi literami zmiennoprzecinkowy typ e lub f zmiennoprzecinkowy typ E lub F Literaĥ Jest to przydatne, gdy rozmiary nie sñ znane aĔ do fazy dziaäania programu. Wskazówka: s przeksztaäca dowolny obiekt na postaè jego reprezentacji tekstowej. Wywoĥanie metody formatujécej Wywoäanie metody formatujñcej dziaäa podobnie jak opisany w po- przednim punkcie sposób bazujñcy na wyraĔeniach, ale wykorzystuje standardowñ skäadniö wywoäania metody obiektu formatowania äaþcu- cha znaków. Cele zastöpowania sñ natomiast identyfikowane za pomocñ nawiasów klamrowych ({}), a nie operatora . Cele zastöpowania wystöpujñce w äaþcuchu formatujñcym mogñ odwoäywaè siö do ar- gumentów wywoäania metody za pomocñ pozycji lub nazwy säowa kluczowego. Dodatkowo moĔna odwoäywaè siö w nich do atrybutów argumentów, kluczy i przesuniöè. Dozwolone jest posäugiwanie siö domyĈlnym formatowaniem lub jawne wprowadzanie kodów typu. MoĔna równieĔ zagnieĔdĔaè cele, dziöki czemu moĔliwe jest pobieranie wartoĈci z list argumentów: {0}, {jedzenie} .format(42, jedzenie= spam ) 42, spam import sys fmt = {0.platform} {1[x]} {2[0]} # attr,key,index fmt.format(sys, { x : szynka , y : jajka }, AB ) win32 szynka A {0} {1:+.2f} .format(1 / 3.0, 1 / 3.0) 0.333333333333 +0.33 {0:.{1}f} .format(1 / 3.0, 4) 0.3333 Specyficzne typy wbudowane _ 27 WiökszoĈè z pokazanych wywoäaþ ma odpowiedniki we wzorcach uĔycia wyraĔeþ z operatorem (np. odwoäania do klucza i wartoĈci säownika), chociaĔ w przypadku wyraĔeþ niektóre dziaäania muszñ byè kodowane poza samym äaþcuchem formatujñcym. Cele zastöpowania, wystöpujñce w wywoäaniach metody formatujñcej, majñ nastöpujñcy ogólny format: {nazwapola!flagakonwersji:specyfikacjaformatu} Oto znaczenie poszczególnych czäonów powyĔszego celu zastöpowania: x nazwapola to liczba lub säowo kluczowe okreĈlajñce argument, za którym wystöpuje opcjonalny atrybut .name lub odwoäanie do komponentu [index] . x flagakonwersji to r , s lub a . Wywoäujñ one odpowiednio metody repr(), str() lub ascii() dla wartoĈci. x specyfikacjaformatu okreĈla sposób prezentacji wartoĈci wäñcz- nie z takimi szczegóäami, jak szerokoĈè pola, wyrównania, wy- peänienia, precyzji dziesiötnej itp. Ostatnim elementem jest opcjo- nalny kod typu danych. Komponent specyfikacjaformatu wystöpujñcy za znakiem dwukropka moĔna formalnie opisaè w poniĔszy sposób (nawiasy kwadratowe oznaczajñ komponenty opcjonalne): [[wypeĪnienie]wyrównanie][znak][#][0][szerokoŁð][.precyzja][kodtypu] Komponent wyrównanie moĔe byè jednym ze znaków: , , = lub ^ , co oznacza odpowiednio wyrównanie do lewej, wyrównanie do prawej, wypeänienie za symbolem znaku lub wyrównanie do Ĉrodka. W miejsce komponentu znak moĔna wstawiè +, í lub spacjö, natomiast kodtypu, ogólnie rzecz biorñc, ma takie samo znaczenie jak w przypadku wyraĔeþ z operatorem z tabeli 8., z poniĔszymi wyjñtkami: x kody typów i oraz u sñ niedostöpne; naleĔy wykorzystaè typ d, który wyĈwietla liczby caäkowite w formacie dziesiötnym; x dodatkowy kod typu b wyĈwietla liczby caäkowite w formacie dwójkowym (dziaäa podobnie jak wbudowana funkcja bin()); x dodatkowy kod typu wyĈwietla liczbö w postaci procenta. Pojedyncze obiekty moĔna równieĔ formatowaè za pomocñ wbudowanej funkcji format(obiekt, specyfikacjaformatu) (wiöcej informacji moĔ- na znaleĒè w podrozdziale „Funkcje wbudowane” na stronie 102). 28 _ Python. Leksykon kieszonkowy Formatowanie moĔna dostosowaè do indywidualnych potrzeb okre- Ĉlonych klas za pomocñ metody przeciñĔania operatorów __format__ (wiöcej informacji moĔna znaleĒè w podrozdziale „Metody przeciñĔajñce operatory” na stronie 89). UWAGA W Pythonie 3.1 i wersjach póĒniejszych znak , poprzedza- jñcy liczbö caäkowitñ lub zmiennoprzecinkowñ wewnñtrz czäonu kodtypu powoduje wstawianie separatorów tysiöcy (przecinków). Instrukcja: {0:,d} .format(1000000) tworzy ciñg 1,000,000 , natomiast: {0:13,.2f} .format(1000000) tworzy ciñg 1,000,000.00 . Ponadto, poczñwszy od Pythona 3.1, w przypadku pominiöcia pól w komponencie nazwapola numerom pól sñ automatycznie nadawa- ne kolejne wartoĈci. PoniĔsze trzy instrukcje dajñ ten sam efekt, choè w przypadku wystöpowania wielu pól pola numerowane automa- tycznie mogñ byè mniej czytelne: {0}/{1}/{2} .format(x, y, z) # jawne numerowanie {}/{}/{} .format(x, y, z) # 3.1 — numerowanie automatyczne s/ s/ s (x, y, z) # wyraĪenie Zastýpowanie szablonów w ĥaħcuchach znaków W Pythonie 2.4 i wersjach póĒniejszych jako alternatywa wyraĔeþ formatujñcych äaþcuchy znaków oraz metod — zagadnienia opisane w poprzednich punktach — dostöpny jest mechanizm prostego za- stöpowania szablonów. Standardowy sposób zastöpowania zmiennych zapewnia operator : (strona)i: (tytul)s { strona :2, tytul : PyRef4E } 2: PyRef4E Do prostszych zadaþ formatowania na moduä string dodano klasö Template. W tej klasie zastñpienie jest wskazywane za pomocñ sym- bolu $: import string t = string.Template( $strona: $tytul ) t.substitute({ strona :2, tytul : PyRef4E }) 2: PyRef4E Specyficzne typy wbudowane _ 29 WartoĈci do zastñpienia moĔna podawaè w postaci argumentów klu- czowych lub kluczy säownikowych: s = string.Template( $kto lubi $co ) s.substitute(kto= bogdan , co=3.14) bogdan lubi 3.14 s.substitute(dict(kto= bogdan , co= ciasto )) bogdan lubi ciasto Metoda safe_substitute w przypadku brakujñcych kluczy ignoruje je i nie zgäasza wyjñtku: t = string.Template( $strona: $tytul ) t.safe_substitute({ strona :3}) 3: $tytul Metody klasy String Oprócz metody format() opisanej wczeĈniej dostöpne sñ inne metody klasy string. Sñ to wysokopoziomowe narzödzia przetwarzania tekstu zapewniajñce wiöksze moĔliwoĈci od wyraĔeþ äaþcuchowych. Listö do- stöpnych metod klasy String zamieszczono w tabeli 9. S oznacza do- wolny obiekt string. Metody klasy String, które modyfikujñ tekst, zawsze zwracajñ nowy äaþcuch tekstowy. Nigdy nie modyfikujñ obiektu (obiekty String sñ niemutowalne). Warto równieĔ zapoznaè siö z mo- duäem dopasowywania wzorców tekstowych re (jego opis znajduje siö w podrozdziale „Moduä dopasowywania wzorców tekstowych re” na stronie 157). MoĔna tam znaleĒè bazujñce na wzorcach odpowiedniki niektórych metod klasy String. Metody typów byte i bytearray Wystöpujñce w Pythonie 3.0 typy äaþcuchowe bytes i bytearray majñ podobne, ale nie takie same zbiory metod jak standardowy typ äaþcuchowy str (str to typ tekstowy Unicode, bytes to surowe da- ne binarne, natomiast typ bytearray jest mutowalny). W kodzie za- mieszczonym poniĔej wyraĔenie set(X) – set(Y) wylicza elementy naleĔñce do zbioru X, których nie ma w zbiorze Y: x typy bytes i bytearray nie obsäugujñ kodowania Unicode (sñ „surowymi” bajtami, a nie dekodowanym tekstem) ani forma- towania äaþcuchów znaków (metoda str.format oraz operator sñ zaimplementowane za pomocñ metody __mod__); x typ str nie obsäuguje dekodowania Unicode (ten tekst juĔ jest zdekodowany); 30 _ Python. Leksykon kieszonkowy Tabela 9. Metody klasy String dostöpne w Pythonie 3.0 S.capitalize() S.center(width, [, fill]) S.count(sub [, start [, end]]) S.encode([encoding [,errors]]) S.endswith(suffix [, start [, end]]) S.expandtabs([tabsize]) S.find(sub [, start [, end]]) S.format(fmtstr, *args, **kwargs) S.index(sub [, start [, end]]) S.isalnum() S.isalpha() S.isdecimal() S.isdigit() S.isidentifier() S.islower() S.isnumeric() S.isprintable() S.isspace() S.istitle( S.isupper() S.join(iterable) S.ljust(width [, fill]) S.lower() S.lstrip([chars]) S.maketrans(x[, y[, z]]) S.partition(sep) S.replace(old, new [, count]) S.rfind(sub [,start [,end]]) S.rindex(sub [, start [, end]]) S.rjust(width [, fill]) S.rpartition(sep) S.rsplit([sep[, maxsplit]]) S.rstrip([chars]) S.split([sep [,maxsplit]]) S.splitlines([keepends]) S.startswith(prefix [, start [, end]]) S.strip([chars]) S.swapcase() S.title() S.translate(map) S.upper() S.zfill(width) Specyficzne typy wbudowane _ 31 x typ bytearray dostarcza unikatowych metod przetwarzania „w miejscu”, podobnych do tych, które sñ dostöpne dla list: set(dir(str)) - set(dir(bytes)) { isprintable , format , __mod__ , encode , isidentifier , _formatter_field_name_split , isnumeric , __rmod__ , isdecimal , _formatter_parser , maketrans } set(dir(bytes)) - set(dir(str)) { decode , fromhex } set(dir(bytearray)) - set(dir(bytes)) { insert , __alloc__ , reverse , extend , __delitem__ , pop , __setitem__ , __iadd__ , remove , append , __imul__ } Oprócz metod typy bytes i bytearray udostöpniajñ równieĔ standar- dowe dziaäania na sekwencjach, zestawione w tabeli 3. na stronie 17. Dodatkowo typ bytearray obsäuguje mutowalne dziaäania na sekwen- cjach, zestawione w tabeli 4. na stronie 17. Wiöcej informacji na ten temat moĔna znaleĒè w podrozdziaäach „ãaþcuchy znaków Unicode” na stronie 36 oraz „Funkcje wbudowane” na stronie 102. UWAGA Zbiór metod typu string w Pythonie 2.6 jest nieco inny (np. istnieje metoda decode dla innego modelu typu Unicode, charakterystycz- nego dla wersji 2.6). Typ unicode Pythona 2.6 ma interfejs niemal taki sam jak obiekty str z tej wersji Pythona. Wiöcej informacji na ten temat moĔna znaleĒè w podröczniku Python 2.6 Library Reference. W trybie interaktywnym moĔna teĔ uruchomiè polecenie dir(str) oraz help(str.metoda). W poniĔszych punktach opisano szczegóäowo niektóre z metod wy- mienionych w tabeli 9. We wszystkich metodach zwracajñcych wynik w postaci äaþcucha znaków jest to nowy obiekt (ze wzglödu na to, Ĕe äaþcuchy znaków sñ niemutowalne, nigdy nie sñ modyfikowane w miejscu). OkreĈlenie „biaäe spacje” oznacza spacje, tabulacje oraz znaki przejĈcia do nowego wiersza (wszystkie wartoĈci z string. ´whitespace). Wyszukiwanie s.find(sub, [, start [, end]]) Zwraca indeks (przesuniöcie) pierwszego wystñpienia äaþcucha sub w äaþcuchu s, pomiödzy indeksami start i end (domyĈlnie majñ one wartoĈci 0 oraz len(s) — caäy ciñg znaków). JeĈli äaþcuch 32 _ Python. Leksykon kieszonkowy Skorowidz [...], 13 __abs__(), 98 __all__, 87 __annotations__, 67 __bases__, 133 __bool__(), 91 __builtin__, 84 __call__(), 91 __class__, 133 __class__(), 88 __cmp__(), 100 __coerce__(), 101 __complex__(), 98 __contains__(), 94 __del__(), 90 __delattr__(), 91 __delete__(), 99 __delitem__(), 95 __delslice__(), 101 __dict__, 133 __dir__(), 93 __div__(), 101 __enter__(), 99 __eq__(), 92 __exit__(), 99 __float__(), 98 __format__(), 90 __ge__(), 92 __get__(), 99 __getattr__(), 88, 91 __getattribute__(), 88, 92 __getitem__(), 94 __getslice__(), 100 __gt__(), 92 __hash__(), 90 __hex__(), 101 __import__(), 107 __index__(), 98 __init__(), 89 __int__(), 98 __invert__(), 98 __iter__(), 71, 94 __le__(), 92 __len__(), 93 __long__(), 101 __lt__(), 92 __metaclass__(), 102 __name__, 133 __ne__(), 92 __neg__(), 98 __new__(), 89 __next__(), 71, 94 __nonzero__(), 100 __oct__(), 101 __pos__(), 98 __repr__(), 90 __reversed__(), 95 __round__(), 98 __set__(), 99 __setattr__(), 91 __setitem__(), 95 __setslice__(), 101 __slots__(), 93 __stderr__, 139 __stdin__, 139 __stdout__, 139 189 __str__(), 90 _exit(), 152 _getframe(), 136 _thread, 177 A abort(), 152 abs(), 102 abspath(), 155 access(), 150 adnotacje funkcji, 67 all(), 102 altsep, 143 any(), 102 anydbm, 163 append(), 39 apply(), 120 argumenty, 62, 66 argumenty kluczowe, 67 argv, 134 ArithmeticError, 126 as, 74 ascii(), 102, 120 ascii_letters, 141 ascii_lowercase, 141 ascii_uppercase, 141 assert, 81 AssertionError, 81, 127 atrybuty, 51, 68, 83, 132 atrybuty egzemplarzy, 86 atrybuty klasy, 86 atrybuty pseudoprywatne, 87 AttributeError, 127 B base64, 175 BaseException, 125 basename(), 155 basestring(), 121 baza danych, 179 biaáe spacje, 56 bin(), 102 190 _ Python. Leksykon kieszonkowy binascii, 175 binhex, 175 bloki, 56 bogate porównania, 92 bool, 54 bool(), 103 Boolean, 16 break, 65 buffer(), 121 builtin_module_names, 134 byte, 30, 37 bytearray, 22, 30, 37 bytearray(), 103 byteorder, 134 bytes, 22 bytes(), 103 BytesWarning, 131 C callable(), 121 callproc(), 181 capitalize(), 34 capwords(), 140 center(), 35 cgi, 174 chdir(), 146, 148 chmod(), 148 chown(), 149 chr(), 103 ciągi dokumentacyjne, 56 class, 75, 86 classmethod(), 104 clear(), 45 clock(), 176 close(), 50, 147, 180, 181 cmp(), 121 codecs, 36 coerce(), 121 commit(), 181 commonprefix(), 155 compile(), 104, 157 complex(), 21, 104 connect(), 180 continue, 66 copy(), 45 copyright, 134 count(), 33, 40 cPickle, 163 ctime(), 177 curdir, 143 cursor(), 181 D datetime, 177 dbm, 163, 165 def, 66 defpath, 144 dekoratory, 69 dekoratory klas, 76 del, 66 delattr(), 104 DeprecationWarning, 131 description, 181 deskryptory, 98 deskryptory plików, 147 dict(), 104 digits, 141 dir(), 105 dirname(), 155 displayhook(), 134 divmod(), 105 dllhandle, 134 doctest, 185 dont_write_bytecode, 138 dopasowywanie wzorców, 157 dostĊp do baz danych, 179 obiekty kursora, 181 obiekty poáączeĔ, 180 obiekty typów, 182 dup(), 147 dup2(), 147 dziedziczenie, 84, 86 dzielenie, 13 E egzemplarz klasy, 86 eksperymentalne wáasnoĞci jĊzyka, 185 else, 78 email, 175 endpos, 160 endswith(), 33 enumerate(), 105 environ, 145 EnvironmentError, 126 EOFError, 127 error, 142 Error, 180 eval(), 105 exc_info(), 135 except, 77, 78 excepthook(), 134 Exception, 126 exec, 83 exec(), 83, 105, 120 exec_prefix, 135 execfile(), 121 execl(), 152 execle(), 152 execlp(), 152 executable, 135 execute(), 181 executemany(), 182 execv(), 152 execve(), 152 execvp(), 152 execvpe(), 152 exists(), 155 exit(), 135 expand(), 161 expandtabs(), 34 expanduser(), 155 expandvars(), 155 extend(), 40 extsep, 143 Skorowidz _ 191 F False, 16 fdopen(), 147 fetchall(), 182 fetchmany(), 182 fetchone(), 182 file(), 48, 122 fileno(), 50 filter(), 106 finally, 78 find(), 32 findall(), 159, 160 finditer(), 159, 160 flags, 159 float(), 21, 106 FloatingPointError, 127 flush(), 50 for, 65 fork(), 153 format nazwy, 57 format(), 30, 106 formatowanie áaĔcuchów, 25 Formatter, 141 framework ostrzeĪeĔ, 131 from, 74 fromkeys(), 46 frozenset(), 106 fstat(), 147 ftplib, 174 ftruncate(), 147 funkcja-fabryka, 69 funkcje, 66 adnotacje, 67 argumenty, 66 dekoratory, 69 Python 2.X, 120 Python 3.0, 120 wbudowane funkcje, 84, 102 wyraĪenia lambda, 68 funkcje okalające, 84 FutureWarning, 131 192 _ Python. Leksykon kieszonkowy G GeneratorExit, 127 generatory, 43, 71 get(), 45 getatime(), 155 getattr(), 106 getcheckinterval(), 135 getcwd(), 146, 148 getdefaultencoding(), 135 geteuid(), 153 getfilesystemencoding(), 136 getmtime(), 155 getpid(), 153 getppid(), 153 getrecursionlimit(), 136 getrefcount(), 136 getsize(), 155 getsizeof(), 136 getuid(), 153 glob, 142 global, 71, 84 globals(), 107 gniazda, 88 graficzny interfejs uĪytkownika, 169 group(), 160 groupdict(), 161 groupindex, 159 groups(), 161 GUI, 169 H has_key(), 46 hasattr(), 107 hash(), 107 help(), 56, 107 hex(), 107 hexdigits, 141 hexversion, 136 html, 175 htmllib, 175 http.client, 175 http.server, 175 httplib, 175 I id(), 107 idiomy, 182 IDLE, 186 if, 64 imaplib, 175 import, 72, 133 ImportError, 127 importowanie moduáów, 72 importowanie pakietów, 73 importowanie wzglĊdem katalogu pakietów, 75 ImportWarning, 131 indeksowanie, 19 IndentationError, 127 index(), 33, 40 IndexError, 127 input(), 108, 122 insert(), 40 instrukcje, 56, 59 Python 2.X, 83 int(), 21, 108 integer, 21 interfejs API bazy danych, 179 intern(), 122, 136 internet, 173 IOError, 127 isabs(), 155 isatty(), 50, 147 isdir(), 156 isfile(), 156 isinstance(), 108 islink(), 156 ismount(), 156 issubclass(), 108 items(), 45 iter(), 109 iteratory, 65, 71 iteritems(), 46 iterkeys(), 46 itervalues(), 46 J jednostka programu, 54 join(), 33, 156 K KeyboardInterrupt, 128 KeyError, 128 keys(), 45 kill(), 153 klasy, 75, 86 atrybuty, 86 atrybuty prywatne, 87 dekoratory, 76 dziedziczenie, 86 egzemplarze, 86 metody, 86 nowy styl, 88 klasy wyjątków, 80 kody formatowania áaĔcuchów, 27 kolekcje, 93 komentarze, 56 konwencje nazewnictwa, 57, 58 konwersje typów, 55 krotki, 47 kursor, 181 L lambda, 68 last_traceback, 137 last_type, 137 last_value, 137 len(), 109 liczby, 18, 20, 21, 95 dziaáania, 21 literaáy, 20 uáamki, 21 linesep, 144 link(), 149 list(), 109 listdir(), 149 listy, 39 wyraĪenia generatorowe, 42 Skorowidz _ 193 listy skáadane, 13, 41 literaáy áaĔcuchowe Unicode, 24 ljust(), 34 locals(), 109 logiczny typ danych, 54 long(), 122 LookupError, 126 lower(), 34 lseek(), 147 lstat(), 149 lstrip(), 34 Ĥ áaĔcuchy znaków, 22, 23 byte, 30, 37 bytearray, 30, 37 dziaáania, 24 formatowanie, 25, 34 literaáy, 23 áączenie, 33 rozdzielanie, 33 sekwencje specjalne, 25 string, 35 String, 30 testy zawartoĞci, 35 Unicode, 36, 37, 38 wyraĪenia formatujące, 26 wyszukiwanie, 32 zastĊpowanie szablonów, 29 M makedirs(), 149 maketrans(), 141 map(), 109 mapy, 93 match(), 158, 160 math, 176 max(), 110 maxsize, 137 maxunicode, 137 MemoryError, 128 memoryview(), 110, 120 194 _ Python. Leksykon kieszonkowy menedĪery kontekstu, 51, 99 metaklasy, 76 metody, 86 metody przeciąĪające operatory, 89 dziaáania dwuargumentowe, 95 dziaáania dwuargumentowe z aktualizacją w miejscu, 97 liczby, 98 menedĪery kontekstu, 99 prawostronne metody dziaáaĔ dwuargumentowych, 96 Python 2.X, 99, 100 Python 3.0, 99 min(), 110 mkdir(), 149 mkfifo(), 149, 153 modele klas, 88 modules, 137 moduáy, 72, 133 atrybuty prywatne, 87 datetime, 177 dbm, 163, 165 math, 176 obsáuga internetu, 173 obsáuga wątków, 177 os, 142 os.path, 154 pickle, 163, 166 re, 157 shelve, 164, 165 string, 140 sys, 134 time, 176 tkinter, 169 multiprocessing, 142 N name, 143 NameError, 128 narzĊdzia administracyjne, 142 narzĊdzia obsáugi Ğrodowiska, 145 nazwy, 57 kwalifikowane, 83 niekwalifikowane, 84 nazwy ĞcieĪek, 148 next(), 111 nice(), 153 nntplib, 175 nonlocal, 72 normcase(), 156 normpath(), 156 NotImplementedError, 128 NumPy, 186 O obiekty, 86 przestrzenie nazw, 83 obiekty poáączeĔ, 180 obiekty skáadane, 43 obiekty wyraĪeĔ regularnych, 159 object(), 111 obsáuga Ğrodowiska, 145 obsáuga Unicode, 37, 38 oct(), 111 octdigits, 141 odwzorowania, 18 okna dialogowe, 171 OODB, 186 OOP, 86 opcje wiersza poleceĔ, 9 open(), 48, 111, 124, 148 operacje logiczne, 16 operatory, 13, 14 przeciąĪanie, 89 ord(), 114 os, 142 os.path, 154 OSError, 128, 142 ostrzeĪenia, 130 framework, 131 OverflowError, 128 P paramstyle, 180 pardir, 143 parsowanie danych binarnych, 178 pass, 65 path, 137, 143 pathsep, 143 pattern, 160 PendingDeprecationWarning, 131 pĊtle, 65 pickle, 163, 166 odtwarzanie, 167 utrwalanie, 167 pipe(), 148, 153 platform, 137 pliki, 48, 111 atrybuty, 51 buforowanie, 52 menedĪery kontekstu, 51 pliki wejĞciowe, 48 pliki wyjĞciowe, 49 tryby otwarcia, 51 plock(), 153 polecenia powáoki, 144 pop(), 40, 46 popen(), 144 popitem(), 46 poplib, 175 porównania, 16 pos, 160 potoki, 144 pow(), 114 prefix, 138 print, 62, 63, 114, 120 printable, 141 priorytet operatorów, 13 procesy, 151 programowanie obiektowe, 86 property(), 115 prywatne atrybuty klas, 87 prywatne atrybuty moduáów, 87 przechwytywanie wyjątków, 77 przeciąĪanie operatorów, 89 przepáyw sterowania, 56 przestrzenie nazw, 71, 83, 86 przypisanie, 59 przypisanie sekwencji, 60 przypisanie z aktualizacją, 60 Skorowidz _ 195 ps1, 138 ps2, 138 punctuation, 141 putenv(), 146 PyInstaller, 186 PyQT, 169 python, 9 PYTHONCASEOK, 12 PYTHONDEBUG, 12 PYTHONDONTWRITE ´BYTECODE, 12 PYTHONHOME, 12 PYTHONINSPECT, 13 PYTHONIOENCODING, 12 PYTHONNOUSERSITE, 13 PYTHONOPTIMIZE, 13 PYTHONPATH, 12 PYTHONSTARTUP, 12 PYTHONUNBUFFERED, 13 PYTHONVERBOSE, 13 queue, 142, 178 quopri, 175 Q R raise, 79 Python 2.X, 80 range(), 115 raw strings, 23 raw_input(), 123 re, 157, 160 read(), 48, 49, 148 readline(), 49 readlines(), 49 readlink(), 149 realpath(), 156 reduce(), 123 ReferenceError, 128 reguáy skáadniowe, 56 reguáy zasiĊgu, 83 reload(), 123 196 _ Python. Leksykon kieszonkowy remove(), 40, 150 removedirs(), 150 rename(), 150 renames(), 150 replace(), 34 repr(), 115 return, 70 reverse(), 40 reversed(), 115 rfind(), 33 rindex(), 33 rjust(), 35 rmdir(), 150 rollback(), 181 round(), 116 rowcount, 181 rozszerzone instrukcje przypisania sekwencji, 60 rstrip(), 34 RuntimeError, 129 RuntimeWarning, 131 S samefile(), 156 sameopenfile(), 156 samestat(), 156 SciPy, 186 search(), 158, 160 seek(), 50 sekwencje, 17, 19, 93 sekwencje mutowalne, 17 select, 174 sep, 143 set, 22 set(), 116 setattr(), 116 setcheckinterval(), 138 setdefaultencoding(), 138 setprofile(), 139 setrecursionlimit(), 139 settrace(), 139 shelve, 164, 165 signal, 142 skáadnia jĊzyka, 56 skáadnia wzorców wyraĪeĔ regularnych, 161, 162 skróty, 90 skrypty CGI, 174 sleep(), 177 slice(), 116 sáowa zarezerwowane, 57 sáowniki, 18, 43, 44 dziaáania, 45 sáowniki skáadane, 43 smtplib, 175 socket, 142, 173 socketserver, 174 sort(), 40 sorted(), 116 span(), 161 spawn*(), 145, 153, 154 specyfikacja programu, 10 split(), 33, 157, 158, 160 splitdrive(), 157 splitext(), 157 splitlines(), 34 SQL, 179 standardowe moduáy biblioteczne, 133 start(), 161 startfile(), 144 startswith(), 33 stat(), 150 staticmethod(), 117 stderr, 139 stdin, 11, 139 stdout, 139 StopIteration, 129 str, 22 str(), 117 strerror(), 146 string, 35, 140, 160 funkcje, 140 klasy, 140 staáe, 141 String, 30, 31 strip(), 34 struct, 178 strumienie, 134, 139 sub(), 159, 160 subn(), 159, 160 subprocess, 142 sum(), 118 super(), 118 surowe áaĔcuchy znaków, 23 swapcase(), 34 SWIG, 186 symlink(), 150 synonimy, 74 SyntaxError, 129 SyntaxWarning, 131 sys, 134 sys.exc_info(), 78 system(), 144 SystemError, 129 SystemExit, 129 Ļ ĞcieĪki dostĊpu, 154 T TabError, 130 Tcl/Tk, 172 tell(), 50 telnetlib, 175 tempfile, 142 Template, 141 testy diagnostyczne, 81 threading, 142, 178 time, 176 time(), 177 times(), 146 title(), 35 tkColorChooser, 171 tkFileDialog, 171 tkinter, 169 klasy, 171 okna dialogowe, 171 uĪycie moduá, 169 widgety, 169 tkinter.colorchooser, 171 tkinter.filedialog, 171 tkinter.messagebox, 171 Skorowidz _ 197 tkinter.simpledialog, 171 tkMessageBox, 171 tkSimpleDialog, 171 tracebacklimit, 140 translate(), 35 True, 16 truncate(), 50 try, 77, 79 tuple(), 118 type(), 119 TypeError, 130 typy danych, 88 typy logiczne, 54 typy numeryczne, 22 typy wbudowane, 20 U uáamki, 21 umask(), 146 uname(), 146 UnboundLocalError, 130 unichr(), 123 Unicode, 24, 36 unicode(), 123 UnicodeDecodeError, 130 UnicodeEncodeError, 130 UnicodeError, 130 UnicodeTranslateError, 130 UnicodeWarning, 131 unittest, 185, 186 unlink(), 150 update(), 45 upper(), 34 urllib, 174 urllib.parse, 174 urllib.request, 174 urllib2, 174 urlparse, 174 UserWarning, 130 utime(), 150 utrwalanie obiektów, 163 uu, 175 198 _ Python. Leksykon kieszonkowy V ValueError, 130 values(), 45 vars(), 119 version, 140 version_info, 140 W wait(), 154 waitpid(), 154 walk(), 151, 157 Warning, 130, 180 warnings.warn(), 131 wartoĞci domyĞlne, 68 wątki, 177 wbudowane atrybuty, 132 wbudowane wyjątki, 125 while, 64 whitespace, 141 widgety, 169 wielokropek, 15 wiersz poleceĔ, 9 WindowsError, 130 winver, 140 with, 81 write(), 49, 148 writelines(), 49 wxPython, 169 wycinanie, 19 wyjątki, 77, 125 wiele menedĪerów kontekstu, 82 klasy wyjątków, 80, 125 ostrzeĪenia, 130 przechwytywanie, 77 Python 2.X, 132 zgáaszanie, 79 wyraĪenia, 61 wyraĪenia formatujące áaĔcuchy znaków, 26 wyraĪenia generatorowe, 42 wyraĪenia lambda, 68 wyraĪenia regularne, 157 obiekty, 159 obiekty dopasowania, 160 skáadnia wzorców, 161, 162 wywoáanie, 61 wywoáanie metody formatującej, 27 wzorce dziedziczenia wielokrotnego, 88 X Y xdrlib, 174 xml, 175 xmlrpc, 175 xrange(), 124 yield, 15, 43, 70 Z zamkniĊcie pliku, 50 zarządzanie procesami, 151 zasiĊg, 83 leksykalne, 84 niekwalifikowane nazwy, 85 zagnieĪdĪenie statyczne, 84 zastĊpowanie szablonów w áaĔcuchach znaków, 29 zbiory, 52, 53 zbiory skáadane, 15, 43 ZeroDivisionError, 130 zfill(), 35 zgáaszanie wyjątków, 79 zip(), 119 záoĪenia, 71 zmienne opcji wiersza poleceĔ, 12 zmienne Ğrodowiskowe, 12 ZODB, 186 Skorowidz _ 199
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Python. Leksykon kieszonkowy. Wydanie IV
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: