Python Receptury Wydanie III.pdf

(651 KB) Pobierz
Tytuł oryginału: Python Cookbook, 3rd Edition
Tłumaczenie: Tomasz Walczak
ISBN: 978-83-246-8180-8
© 2014 Helion S.A.
Authorized Polish translation of the English edition of Python Cookbook, 3rd Edition, ISBN
9781449340377 © 2013 David Beazley, Brian Jones.
This translation is published and sold by permission of O’Reilly Media, Inc.,
which owns or controls all rights to publish and sell the same.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording or by any information storage retrieval system,
without permission from the Publisher.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje
naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich
właścicieli.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte
w tej książce informacje były kompletne i rzetelne. Nie biorą jednak żadnej
odpowiedzialności ani za ich wykorzystanie, ani za związane z tym ewentualne
naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION
nie ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe
z wykorzystania informacji zawartych w książce.
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail: helion@helion.pl
WWW: http://helion.pl (księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/pytre3
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Pliki z przykładami omawianymi w książce można znaleźć pod adresem:
ftp://ftp.helion.pl/przyklady/pytre3.zip
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis tre ci
Przedmowa ...................................................................................................................11
1. Algorytmy i struktury danych ..................................................................................... 15
1.1. Wypakowywanie sekwencji do odr bnych zmiennych
1.2. Wypakowywanie elementów z obiektów iterowalnych o dowolnej d ugo ci
1.3. Zachowywanie ostatnich N elementów
1.4. Wyszukiwanie N najwi kszych lub najmniejszych elementów
1.5. Tworzenie kolejki priorytetowej
1.6. Odwzorowywanie kluczy na ró ne warto ci ze s ownika
1.7. Okre lanie uporz dkowania w s ownikach
1.8. Obliczenia na danych ze s owników
1.9. Wyszukiwanie identycznych danych w dwóch s ownikach
1.10. Usuwanie powtórze z sekwencji przy zachowaniu kolejno ci elementów
1.11. Nazywanie wycinków
1.12. Okre lanie najcz ciej wyst puj cych w sekwencji elementów
1.13. Sortowanie list s owników wed ug wspólnych kluczy
1.14. Sortowanie obiektów bez wbudowanej obs ugi porówna
1.15. Grupowanie rekordów na podstawie warto ci pola
1.16. Filtrowanie elementów sekwencji
1.17. Pobieranie podzbioru s ownika
1.18. Odwzorowywanie nazw na elementy sekwencji
1.19. Jednoczesne przekszta canie i redukowanie danych
1.20. czenie wielu odwzorowa w jedno
15
16
19
20
22
24
25
26
28
29
30
31
33
34
35
37
39
40
42
43
2.
a cuchy znaków i tekst .............................................................................................47
2.1. Podzia a cuchów znaków po wykryciu dowolnego z ró nych ograniczników
2.2. Dopasowywanie tekstu do pocz tkowej lub ko cowej cz ci a cucha znaków
2.3. Dopasowywanie a cuchów znaków za pomoc symboli wieloznacznych pow oki
2.4. Dopasowywanie i wyszukiwanie wzorców tekstowych
47
48
50
51
3
Kup książkę
Poleć książkę
2.5. Wyszukiwanie i zast powanie tekstu
2.6. Wyszukiwanie i zast powanie tekstu bez uwzgl dniania wielko ci liter
2.7. Tworzenie wyra e regularnych w celu uzyskania najkrótszego dopasowania
2.8. Tworzenie wyra e regularnych dopasowywanych do wielowierszowych wzorców
2.9. Przekszta canie tekstu w formacie Unicode na posta standardow
2.10. U ywanie znaków Unicode w wyra eniach regularnych
2.11. Usuwanie niepo danych znaków z a cuchów
2.12. Zapewnianie poprawno ci i porz dkowanie tekstu
2.13. Wyrównywanie a cuchów znaków
2.14. czenie a cuchów znaków
2.15. Podstawianie warto ci za zmienne w a cuchach znaków
2.16. Formatowanie tekstu w celu uzyskania okre lonej liczby kolumn
2.17. Obs ugiwanie encji HTML-a i XML-a w tek cie
2.18. Podzia tekstu na tokeny
2.19. Tworzenie prostego rekurencyjnego parsera zst puj cego
2.20. Przeprowadzanie operacji tekstowych na a cuchach bajtów
54
55
56
57
58
60
61
62
64
66
68
70
71
73
75
83
3. Liczby, daty i czas ........................................................................................................ 87
3.1. Zaokr glanie liczb
3.2. Przeprowadzanie dok adnych oblicze na liczbach dziesi tnych
3.3. Formatowanie liczb w celu ich wy wietlenia
3.4. Stosowanie dwójkowych, ósemkowych i szesnastkowych liczb ca kowitych
3.5. Pakowanie do bajtów i wypakowywanie z bajtów du ych liczb ca kowitych
3.6. Przeprowadzanie oblicze na liczbach zespolonych
3.7. Niesko czono i warto ci NaN
3.8. Obliczenia z wykorzystaniem u amków
3.9. Obliczenia z wykorzystaniem du ych tablic liczbowych
3.10. Przeprowadzanie operacji na macierzach i z zakresu algebry liniowej
3.11. Losowe pobieranie elementów
3.12. Przekszta canie dni na sekundy i inne podstawowe konwersje zwi zane z czasem
3.13. Okre lanie daty ostatniego pi tku
3.14. Okre lanie przedzia u dat odpowiadaj cego bie cemu miesi cowi
3.15. Przekszta canie a cuchów znaków na obiekty typu datetime
3.16. Manipulowanie datami z uwzgl dnieniem stref czasowych
87
88
90
92
93
95
96
98
99
102
103
105
107
108
110
111
4. Iteratory i generatory .................................................................................................113
4.1. R czne korzystanie z iteratora
4.2. Delegowanie procesu iterowania
4.3. Tworzenie nowych wzorców iterowania z wykorzystaniem generatorów
4.4. Implementowanie protoko u iteratora
4.5. Iterowanie w odwrotnej kolejno ci
113
114
115
117
119
4
Spis tre ci
Kup książkę
Poleć książkę
4.6. Definiowanie funkcji generatorów z dodatkowym stanem
4.7. Pobieranie wycinków danych zwracanych przez iterator
4.8. Pomijanie pierwszej cz ci obiektu iterowalnego
4.9. Iterowanie po wszystkich mo liwych kombinacjach lub permutacjach
4.10. Przechodzenie po parach indeks – warto sekwencji
4.11. Jednoczesne przechodzenie po wielu sekwencjach
4.12. Przechodzenie po elementach z odr bnych kontenerów
4.13. Tworzenie potoków przetwarzania danych
4.14. Przekszta canie zagnie d onych sekwencji na posta jednowymiarow
4.15. Przechodzenie po scalonych posortowanych obiektach iterowalnych
zgodnie z kolejno ci sortowania
4.16. Zast powanie niesko czonych p tli while iteratorem
120
121
122
124
125
127
129
130
133
134
135
5. Pliki i operacje wej cia-wyj cia .................................................................................137
5.1. Odczyt i zapis danych tekstowych
5.2. Zapisywanie danych z funkcji print() do pliku
5.3. Stosowanie niestandardowych separatorów lub ko ca wiersza w funkcji print()
5.4. Odczyt i zapis danych binarnych
5.5. Zapis danych do pliku, który nie istnieje
5.6. Wykonywanie operacji wej cia-wyj cia na a cuchach
5.7. Odczytywanie i zapisywanie skompresowanych plików z danymi
5.8. Przechodzenie po rekordach o sta ej wielko ci
5.9. Wczytywanie danych binarnych do zmiennego bufora
5.10. Odwzorowywanie plików binarnych w pami ci
5.11. Manipulowanie cie kami
5.12. Sprawdzanie, czy plik istnieje
5.13. Pobieranie listy zawarto ci katalogu
5.14. Nieuwzgl dnianie kodowania nazw plików
5.15. Wy wietlanie nieprawid owych nazw plików
5.16. Dodawanie lub zmienianie kodowania otwartego pliku
5.17. Zapisywanie bajtów w pliku tekstowym
5.18. Umieszczanie deskryptora istniej cego pliku w obiekcie pliku
5.19. Tworzenie tymczasowych plików i katalogów
5.20. Komunikowanie z portami szeregowymi
5.21. Serializowanie obiektów Pythona
137
139
140
141
142
143
144
145
146
148
150
151
152
153
154
156
158
159
160
162
163
6. Kodowanie i przetwarzanie danych ......................................................................... 167
6.1. Wczytywanie i zapisywanie danych CSV
6.2. Wczytywanie i zapisywanie danych w formacie JSON
6.3. Parsowanie prostych danych w XML-u
6.4. Stopniowe parsowanie bardzo du ych plików XML
167
170
174
176
Spis tre ci
5
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin