- -5%
ebook Python na poważnie
Julien Danjou
Wydawca:
Wydawnictwo Naukowe PWN
Rok wydania:
2019
Rozwijaj swoje umiejętności programowania w Pythonie, zagłębiając się w tajniki języka przy pomocy książki Python na poważnie. Napisana z myślą o developerach i doświadczonych programistach książka Python na poważnie bazuje na ponad 15-letnim doświadczeniu w pracy z Pythonem, uczy czytelników, jak unikać typowych błędów, jak pisać kod w bardziej produktywny sposób i jak szybciej budować lepsze programy. Omówimy szereg zaawansowanych zagadnień, takich jak wielowątkowość i memoizacja, przedstawimy porady ekspertów m.in. w zakresie projektowania interfejsów API i obsługi baz danych, a także wytłumaczymy pewne wewnętrzne mechanizmy, aby pomóc w lepszym zrozumieniu języka Python.
Na początku dowiesz się, jak rozpocząć projekt i rozwiązać takie kwestie jak numerowanie wersji i automatyczne sprawdzanie kodu. Później zobaczysz, jak efektywnie definiować funkcje, wybierać odpowiednie struktury danych i biblioteki, budować przyszłościowe programy, przygotowywać oprogramowanie do dystrybucji oraz optymalizować swoje programy, także na poziomie kodu bajtowego.
Ponadto dowiesz się jak:
Tworzyć i wykorzystywać efektywne dekoratory i metody, z uwzględnieniem metod abstrakcyjnych, statycznych i klas Używać Pythona do programowania funkcyjnego przy pomocy generatorów oraz funkcji czystych i funkcyjnych Rozszerzać narzędzie flake8 o analizę drzewa składniowego AST, wprowadzając bardziej zaawansowaną technikę automatycznego sprawdzania kodu Przeprowadzać dynamiczną analizę wydajności w celu wykrywania słabych punktów w kodzie Korzystać z relacyjnych baz danych, a także efektywnie zarządzać danymi i przesyłać je strumieniowo przy użyciu PostgreSQL Wznieś swoje umiejętności na wyższy poziom. Ucz się od ekspertów i zostań poważnym programistą Pythona dzięki książce Python na poważnie!
Na początku dowiesz się, jak rozpocząć projekt i rozwiązać takie kwestie jak numerowanie wersji i automatyczne sprawdzanie kodu. Później zobaczysz, jak efektywnie definiować funkcje, wybierać odpowiednie struktury danych i biblioteki, budować przyszłościowe programy, przygotowywać oprogramowanie do dystrybucji oraz optymalizować swoje programy, także na poziomie kodu bajtowego.
Ponadto dowiesz się jak:
Tworzyć i wykorzystywać efektywne dekoratory i metody, z uwzględnieniem metod abstrakcyjnych, statycznych i klas Używać Pythona do programowania funkcyjnego przy pomocy generatorów oraz funkcji czystych i funkcyjnych Rozszerzać narzędzie flake8 o analizę drzewa składniowego AST, wprowadzając bardziej zaawansowaną technikę automatycznego sprawdzania kodu Przeprowadzać dynamiczną analizę wydajności w celu wykrywania słabych punktów w kodzie Korzystać z relacyjnych baz danych, a także efektywnie zarządzać danymi i przesyłać je strumieniowo przy użyciu PostgreSQL Wznieś swoje umiejętności na wyższy poziom. Ucz się od ekspertów i zostań poważnym programistą Pythona dzięki książce Python na poważnie!
Spis treści ebooka Python na poważnie
PODZIĘKOWANIA XVWPROWADZENIE XVII
Kto i dlaczego powinien przeczytać tę książkę XVIII
O tej książce XVIII
1. ROZPOCZYNANIE PROJEKTU 1
Wersje Pythona 1
Układ projektu 3
Co robić 3
Czego nie robić 4
Numerowanie wersji 5
Style programowania i automatyczne sprawdzanie 6
Narzędzia do wykrywania błędów stylu 8
Narzędzia do wykrywania błędów programistycznych 8
Joshua Harlow o Pythonie 10
2. MODUŁY, BIBLIOTEKI I PLATFORMY M 13
System importowania 14
Moduł sys 16
Ścieżki importowania 16
Niestandardowe importery 17
Obiekty wyszukujące z listy sys.meta_path 17
Przydatne standardowe biblioteki 19
Zewnętrzne biblioteki 21
Lista wymagań, jakie powinna spełniać bezpieczna biblioteka zewnętrzna 22
Chronienie kodu przy użyciu opakowania API 23
Instalacja pakietu: dodatkowe możliwości narzędzia pip 23
Stosowanie i wybieranie platform 26
Doug Hellmann, Python Core Developer, o bibliotekach Pythona 27
3. DOKUMENTACJA I NAJLEPSZE PRAKTYKI 33
Dokumentowanie przy użyciu Sphinksa 34
Rozpoczęcie pracy ze Sphinksem i reST 35
Moduły Sphinksa 36
Pisanie rozszerzeń Sphinksa 39
Zarządzanie zmianami interfejsów API 41
Numerowanie wersji API 41
Dokumentowanie zmian API 42
Oznaczanie przestarzałych funkcji przy użyciu modułu warnings 44
Podsumowanie 46
Christophe de Vienne o rozwijaniu interfejsów API 46
4. OBSŁUGA ZNACZNIKÓW CZASU I STREF CZASOWYCH 49
Problem brakujących stref czasowych 50
Budowanie domyślnych obiektów datetime 50
Rozpoznawanie stref czasowych przy użyciu dateutil 52
Serializowanie obiektów datetime rozpoznających strefę czasową 54
Rozwiązywanie problemu niejednoznacznych godzin 56
Podsumowanie 57
5. DYSTRYBUCJA OPROGRAMOWANIA 59
Krótka historia plików setup.py 60
Zarządzanie pakietami przy użyciu setup.cfg 62
Standardowy format dystrybucji wheel 64
Dzielenie się swoją pracą ze światem 66
Punkty wejścia 70
Wizualizowanie punktów wejścia 71
Wykorzystywanie skryptów konsoli 72
Wykorzystywanie wtyczek i sterowników 74
Podsumowanie 77
Nick Coghlan o zarządzaniu pakietami 77
6. TESTY JEDNOSTKOWE 79
Podstawy testowania 80
Proste testy 80
Pomijanie testów 82
Uruchamianie wybranych testów 83
Równoległe uruchamianie testów 85
Tworzenie obiektów wykorzystywanych w testach przy użyciu fikstur 86
Uruchamianie scenariuszy testowych 87
Kontrolowane testy bazujące na atrapach obiektów 88
Odkrywanie nieprzetestowanego kodu przy użyciu coverage 93
Środowiska wirtualne 95
Konfigurowanie środowiska wirtualnego 96
Stosowanie virtualenv wraz z narzędziem tox 98
Odtwarzanie środowiska 99
Stosowanie różnych wersji Pythona 100
Integrowanie innych testów 101
Zasady dotyczące testowania 102
Robert Collins o testowaniu 103
7. METODY I DEKORATORY 107
Dekoratory i kiedy ich używać 108
Tworzenie dekoratorów 108
Pisanie dekoratorów 109
Stosowanie wielu dekoratorów 110
Pisanie dekoratorów klas 111
W jaki sposób działają metody w Pythonie 116
Metody statyczne 117
Metody klasy 119
Metody abstrakcyjne 120
Mieszanie metod statycznych, klasy i abstrakcyjnych 121
Umieszczanie implementacji w metodach abstrakcyjnych 123
Prawda o metodzie super 124
Podsumowanie 127
8. PROGRAMOWANIE FUNKCYJNE 129
Tworzenie czystych funkcji 130
Generatory 131
Tworzenie generatora 131
Zwracanie i przekazywanie wartości przy użyciu instrukcji yield 133
Inspekcje generatorów 134
Wyrażenia listowe 136
Funkcjonowanie funkcji funkcyjnych 137
Stosowanie funkcji na elementach przy użyciu funkcji map() 137
Filtrowanie list przy użyciu funkcji filter() 138
Pobieranie indeksów przy użyciu funkcji enumerate() 138
Sortowanie listy przy użyciu funkcji sorted() 138
Wyszukiwanie przy użyciu any() i all() elementów spełniających warunki 139
Łączenie list przy użyciu funkcji zip() 139
Rozwiązania typowych problemów 140
Przydatne funkcje itertools 140
Podsumowanie 145
9. DRZEWO AST, HY I ATRYBUTY JAK W JĘZYKU LISP 147
Analizowanie drzewa AST 148
Pisanie programu przy użyciu AST 150
Obiekty AST 151
Przechodzenie drzewa AST 151
Rozszerzanie narzędzia fl ake8 o analizy AST 153
Pisanie klasy 154
Pomijanie nieistotnego kodu 154
Sprawdzanie, czy istnieje odpowiedni dekorator 155
Poszukiwanie argumentu self 156
Szybkie wprowadzenie do Hy 158
Podsumowanie 160
Paul Tagliamonte o AST i Hy 160
10. WYDAJNOŚĆ I OPTYMALIZACJE 165
Struktury danych 166
Zrozumienie działania programu przez profi lowanie 168
cProfi le 169
Dezasemblowanie przy użyciu modułu dis 171
Efektywne defi niowanie funkcji 173
Listy uporządkowane i bisect 174
namedtuple i __slots__ 177
Memoizacja 182
Szybszy Python dzięki PyPy 184
Eliminacja kopiowania przy użyciu protokołu bufora 185
Podsumowanie 190
Victor Stinner o optymalizacji 190
11. SKALOWALNOŚĆ I ARCHITEKTURA 193
Wielowątkowość w Pythonie i jej ograniczenia 194
Przetwarzanie wieloprocesowe kontra wielowątkowe 195
Architektura sterowana zdarzeniami 197
Inne opcje i asyncio 199
Architektura zorientowana na usługi 200
Komunikacja między procesami przy użyciu ZeroMQ 201
Podsumowanie 203
12. ZARZĄDZANIE RELACYJNYMI BAZAMI DANYCH 205
Rozwiązania RDBMS, ORM i kiedy ich używać 205
Wewnętrzne bazy danych 208
Strumieniowe przesyłanie danych przy użyciu Flask i PostgreSQL 209
Pisanie aplikacji do strumieniowego przesyłania danych 209
Budowanie aplikacji 212
Dimitri Fontaine on Databases 214
13. PISZ MNIEJ, PROGRAMUJ WIĘCEJ 219
Użycie modułu six do wspierania wersji Python 2 i 3 219
Ciągi a unicode 221
Rozwiązywanie problemu przeniesienia modułów Pythona 221
Moduł modernize 222
Wykorzystywanie Pythona jak języka Lisp do tworzenia jednego dyspozytora 222
Tworzenie metod generycznych w języku Lisp 222
Metody generyczne w Pythonie 224
Menedżery kontekstu 226
Redukowanie szablonowego kodu przy użyciu attr 229
Podsumowanie 232
INDEKS 233
Szczegóły ebooka Python na poważnie
- Wydawca:
- Wydawnictwo Naukowe PWN
- Rok wydania:
- 2019
- Typ publikacji:
- Ebook
- Język:
- polski
- Format:
- mobi,epub
- ISBN:
- 978-83-01-20641-3
- ISBN wersji papierowej:
- 978-83-01-20637-6
- Wydanie:
- 1
- Autorzy:
- Julien Danjou
- Tłumacze:
- Natalia Chounlamany-Turalska
- Miejsce wydania:
- Warszawa
- Liczba Stron:
- 238
Recenzje ebooka Python na poważnie
-
Reviews (0)
Na jakich urządzeniach mogę czytać ebooki?
Na czytnikach Kindle, PocketBook, Kobo i innych
Na komputerach stacjonarnych i laptopach
Na telefonach z systemem ANDROID lub iOS
Na wszystkich urządzeniach obsługujących format plików PDF, Mobi, EPub
- -5%
-5%
84,00 zł
79,90 zł
@CUSTOMER_NAME@
@COMMENT_TITLE@
@COMMENT_COMMENT@