profesjonalne programowanie w pythonie. poznaj najlepsze praktyki kodowania i zaawansowane koncepcje programowania. wydanie iv scan.pdf

(8355 KB) Pobierz
Tytuł oryginału: Expert Python Programming: Master Python by learning the best coding practices and
advanced programming concepts, 4th Edition
Tłumaczenie: Tomasz Walczak
ISBN: 978-83-283-8743-0
Copyright © Packt Publishing 2021. First published in the English language under the title ‘Expert Python
Programming - 4th Edition – (9781801071109)’.
Polish edition copyright © 2022 by Helion S.A.
All rights reserved.
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 wydawca 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 wydawca nie ponoszą również
żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce.
Helion S.A.
ul. Kościuszki 1c, 44-100 Gliwice
tel. 32 231 22 19, 32 230 98 63
e-mail:
helion@helion.pl
WWW:
https://helion.pl
(księgarnia internetowa, katalog książek)
Pliki z przykładami omawianymi w książce można znaleźć pod adresem:
https://ftp.helion.pl/przyklady/prprp4.zip
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
https://helion.pl/user/opinie/prprp4
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis treści
O autorach
O recenzencie
Przedmowa
Rozdział 1. Aktualny stan Pythona
Gdzie jesteśmy i dokąd zmierzamy?
Co zrobić z kodem w Pythonie 2?
Jak być na bieżąco?
Dokumenty PEP
Aktywne społeczności
Inne
źródła
informacji
Podsumowanie
9
10
11
17
18
18
20
21
22
25
26
Rozdział 2. Nowoczesne
środowiska
programistyczne Pythona
Wymagania techniczne
Ekosystem pakietów Pythona
Instalowanie pakietów Pythona za pomocą narzędzia pip
Izolowanie
środowiska
uruchomieniowego
Izolacja na poziomie aplikacji a izolacja na poziomie systemu
Izolacja
środowiska
na poziomie aplikacji
Poetry jako system zarządzania zależnościami
Izolacja
środowiska
na poziomie systemu
Konteneryzacja a wirtualizacja
Zarządzanie
środowiskami
wirtualnymi z użyciem Dockera
Wirtualne
środowiska
programistyczne oparte na narzędziu Vagrant
27
28
29
29
31
33
34
37
41
43
44
61
Kup książkę
Poleć książkę
Spis treści
Popularne narzędzia do zwiększania produktywności
Niestandardowe powłoki Pythona
Stosowanie powłoki IPython
Stosowanie powłok we własnych skryptach i programach
Interaktywne debugery
Inne narzędzia do zwiększania produktywności
Podsumowanie
63
63
65
67
68
69
71
Rozdział 3. Nowości w Pythonie
Wymagania techniczne
Niedawne dodatki do języka
Operatory scalania i aktualizacji słownika
Wyrażenia przypisania
Wskazówki dotyczące typów w typach generycznych
Parametry czysto pozycyjne
Moduł zoneinfo
Moduł graphlib
Nie tak nowe, ale wciąż błyszczące
Funkcja breakpoint()
Tryb roboczy
Funkcje __getattr__() i __dir__() na poziomie modułu
Formatowanie
łańcuchów
znaków za pomocą obiektów f-string
Podkreślenia w literałach liczbowych
Moduł secrets
Co może się pojawić w przyszłości?
Tworzenie sumy typów za pomocą operatora |
Strukturalne dopasowywanie wzorców
Podsumowanie
72
73
73
74
78
81
83
85
86
90
90
92
94
95
96
96
98
98
99
103
Rozdział 4. Porównanie Pythona z innymi językami
Wymagania techniczne
Model klas i programowanie obiektowe
Dostęp do klas bazowych
Wielodziedziczenie i porządek MRO
Inicjalizowanie instancji klasy
Wzorce dostępu do atrybutów
Deskryptory
Właściwości
Dynamiczny polimorfizm
Przeciążanie operatorów
Przeciążanie funkcji i metod
Klasy danych
Programowanie funkcyjne
Funkcje lambda
Funkcje map(), filter() i reduce()
Obiekty i funkcje częściowe
Generatory
Wyrażenia generatora
Dekoratory
4
104
105
105
106
108
113
116
117
123
127
129
135
138
141
142
144
146
147
148
149
Kup książkę
Poleć książkę
Spis treści
Wyliczenia
Podsumowanie
151
153
Rozdział 5. Interfejs, wzorce i modułowość
Wymagania techniczne
Interfejsy
Odrobina historii: zope.interface
Stosowanie adnotacji funkcji i abstrakcyjnych klas bazowych
Tworzenie interfejsów z wykorzystaniem adnotacji określających typ
Odwrócenie sterowania i wstrzykiwanie zależności
Odwrócenie sterowania w aplikacjach
Stosowanie platform do wstrzykiwania zależności
Podsumowanie
154
155
155
157
164
169
172
173
181
185
Rozdział 6. Współbieżność
Wymagania techniczne
Czym jest współbieżność?
Wielowątkowość
Czym jest wielowątkowość?
Obsługa wątków w Pythonie
Kiedy należy stosować wielowątkowość?
Przykładowa aplikacja wielowątkowa
Wieloprocesowość
Wbudowany moduł multiprocessing
Stosowanie puli procesów
Stosowanie modułu multiprocessing.dummy jako interfejsu
do obsługi wielowątkowości
Programowanie asynchroniczne
Kooperatywna wielozadaniowość i asynchroniczne operacje wejścia – wyjścia
Słowa kluczowe async i await w Pythonie
Praktyczny przykład zastosowania programowania asynchronicznego
Dostosowywanie nieasynchronicznego kodu do asynchroniczności
za pomocą obiektów future
Podsumowanie
186
186
187
189
189
192
194
197
212
214
217
219
220
221
222
225
228
231
Rozdział 7. Programowanie sterowane zdarzeniami
Wymagania techniczne
Czym dokładnie jest programowanie sterowane zdarzeniami?
Sterowanie zdarzeniami nie jest tożsame z asynchronicznością
Programowanie sterowane zdarzeniami w GUI
Komunikacja sterowana zdarzeniami
Różne style programowania sterowanego zdarzeniami
Styl oparty na wywołaniach zwrotnych
Styl oparty na obserwowaniu obiektów
Styl oparty na tematach
Architektury sterowane zdarzeniami
Kolejki zdarzeń i komunikatów
Podsumowanie
233
234
234
235
236
238
240
241
242
246
248
249
252
5
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin