Profesjonalne_programowanie_w_Pythonie_Poziom_ekspert_Wydanie_II_prprpe.pdf

(1165 KB) Pobierz
Tytuł oryginału: Expert Python Programming, Second Edition
Tłumaczenie: Michał Jaworski
ISBN: 978-83-283-3033-7
Copyright © 2016 Packt Publishing
First published in the English language under the title ‘Expert Python Programming - Second Edition’ –
9781785886850.
Polish edition copyright © 2017 by Helion SA
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 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)
Pliki z przykładami omawianymi w książce można znaleźć pod adresem:
ftp://ftp.helion.pl/przyklady/prprpe.zip
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/prprpe
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. Obecny status Pythona
Gdzie jeste my i dok d zmierzamy?
Dlaczego i jak zmienia si Python
B d na bie co ze zmianami j zyka — dokumenty PEP
Popularno Pythona 3 w chwili pisania tej ksi ki
G ówne ró nice pomi dzy Pythonem 3 a Pythonem 2
Korzy ci p yn ce ze znajomo ci starej wersji Pythona
G ówne ró nice sk adni i cz ste pu apki
Popularne narz dzia i techniki u ywane w celu utrzymania kompatybilno ci
Nie tylko CPython
Dlaczego powiniene si przejmowa ?
Stackless Python
Jython
IronPython
PyPy
Nowoczesne podej cia do programowania w Pythonie
Izolacja rodowisk Pythona na poziomie aplikacji
Zalety stosowania izolacji
Popularne rozwi zania
Które rozwi zanie wybra ?
11
12
13
19
20
20
21
22
23
23
24
26
30
30
31
31
32
33
34
34
36
37
41
Kup książkę
Poleć książkę
Spis tre ci
Izolacja rodowisk Pythona na poziomie systemu operacyjnego
Wirtualne rodowiska robocze z wykorzystaniem narz dzia Vagrant
Konteneryzacja czy wirtualizacja?
Popularne narz dzia pracy ukierunkowane na produktywno
Alternatywne pow oki Pythona — IPython, bpython, ptpython
Interaktywne debuggery
Przydatne materia y
Podsumowanie
42
43
45
45
46
48
49
50
Rozdzia 2. Najlepsze praktyki sk adniowe — poni ej poziomu klas
Typy wbudowane Pythona
Ci gi znaków i bajtów
Kolekcje
Zaawansowane elementy sk adni
Iteratory
Instrukcja yield
Dekoratory
Zarz dcy kontekstu — instrukcja with
Inne elementy sk adni, o których mo esz jeszcze nie wiedzie
Konstrukcja for ... else ...
Adnotacje funkcji
Podsumowanie
51
52
52
56
67
67
69
72
83
87
87
88
89
Rozdzia 3. Najlepsze praktyki sk adniowe — powy ej poziomu klas
Dziedziczenie po typach wbudowanych
Uzyskiwanie dost pu do metod klas nadrz dnych
Klasy w starym stylu oraz funkcja super() w Pythonie 2
Porz dek rozpatrywania metod w Pythonie
Pu apki zwi zane z funkcj super()
Najlepsze praktyki
Zaawansowane wzorce dost pu do atrybutów
Deskryptory
W a ciwo ci
Sloty
Metaprogramowanie
Dekoratory jako metoda metaprogramowania
Dekoratory klas
Wykorzystanie metody __new__()
w celu nadpisania procesu tworzenia instancji klas
Metaklasy
Rady dotycz ce automatycznego generowania kodu
Podsumowanie
91
92
94
96
97
101
104
104
105
111
114
114
115
116
118
120
127
134
4
Kup książkę
Poleć książkę
Spis tre ci
Rozdzia 4. W a ciwy dobór nazw
PEP 8 i najlepsze praktyki nazewnicze
Kiedy i dlaczego przestrzega zasad PEP 8?
Poza PEP 8 — wytyczne stylu w zespo ach
Notacje nazewnicze
Zmienne
Zmienne publiczne i prywatne
Funkcje i metody
W a ciwo ci
Klasy
Modu y i pakiety
Dobre praktyki nazewnicze
U ycie prefiksów is oraz has przy elementach logicznych
U ycie liczby mnogiej przy zmiennych przechowuj cych kolekcje
Precyzyjne opisywanie s owników
Unikanie zbyt ogólnych okre le
Unikanie istniej cych nazw
Najlepsze praktyki dla argumentów funkcji i metod
Projektowanie argumentów metod przyrostow
Ufaj argumentom i testom
Ostro ne wykorzystanie magicznych argumentów *args oraz **kwargs
Nazwy klas
Nazwy modu ów i pakietów
Przydatne narz dzia
Pylint
pep8 i flake8
Podsumowanie
135
135
136
136
137
138
140
142
145
145
146
146
146
146
147
147
148
149
150
150
152
154
154
155
155
157
158
Rozdzia 5. Tworzenie i dystrybucja pakietów
Tworzenie pakietów
Zamieszanie wokó narz dzi do tworzenia i dystrybuowania pakietów
Konfiguracja projektu
W asne polecenia skryptu setup.py
Praca z pakietami podczas ich rozwoju
Pakiety przestrzeni nazw
Zastosowanie pakietów przestrzeni nazw
PEP 420 — domy lne pakiety przestrzeni nazw
Pakiety przestrzeni nazw w starszych wersjach Pythona
Praca z repozytorium pakietów
Python Package Index — repozytorium pakietów Pythona
Dystrybucje ród owe a dystrybucje budowane
Samodzielne pliki wykonywalne
Kiedy samodzielne pliki wykonywalne s u yteczne?
Popularne narz dzia
Bezpiecze stwo kodu Pythona w samodzielnych plikach wykonywalnych
Podsumowanie
159
160
160
162
172
172
174
174
176
177
178
179
181
184
186
186
193
195
5
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin