Efektywny Python. 90 sposobów na lepszy kod. Wydanie II
- Autor: :
- Brett Slatkin
- Wydawnictwo:
- Helion
- Wydawnictwo:
- Helion
- Ocena:
- 4.2/6 Opinie: 9
- Stron:
- 408
- Druk:
- oprawa miękka
- Dostępne formaty:
-
PDFePubMobi
Opis ebooka: Efektywny Python. 90 sposobów na lepszy kod. Wydanie II
Python słusznie cieszy się stale rosnącym uznaniem programistów: jest wszechstronny i efektywny, pozwala też na tworzenie wysokiej jakości oprogramowania. Język ten ma poza tym wiele trudniejszych do uchwycenia zalet. Aby uzyskać naprawdę imponujące efekty w zakresie wydajności kodu, jego przenaszalności i bezpieczeństwa, trzeba zagłębić się w dość subtelne niuanse kodowania. Wielu programistów, choć posiada spore doświadczenie w programowaniu w innych językach, nie dostrzega tych zależności. Z kolei osoby dopiero rozpoczynające przygodę z programowaniem mogą poczuć się zaskoczone i zdezorientowane, jeśli nie zdołają uniknąć kilku nieoczywistych błędów podczas pracy.
To drugie, zaktualizowane i uzupełnione wydanie podręcznika programowania w duchu Pythona. Zawarty tu materiał umożliwia wykorzystanie tego języka do tworzenia wyjątkowo solidnego i niezwykle wydajnego kodu źródłowego. Książka jest napisana w zwięzłym stylu i ma przemyślany układ, oparty na scenariuszach, dzięki czemu przystępnie przedstawia 90 najlepszych praktyk, wskazówek i skrótów oraz wyjaśnia ich działanie na rzeczywistych przykładach kodu. Pokazano tu szereg mało znanych, być może nieco dziwnych sztuczek i sposobów udoskonalających pracę kodu źródłowego. Przyswojenie zaprezentowanych tu praktyk pozwoli Ci tworzyć kod łatwy do zrozumienia, obsługi i dalszej rozbudowy. W tym wydaniu treść poszczególnych wskazówek zaktualizowano do Pythona 3, a poszczególne przykłady kodu zostały przejrzane i udoskonalone - najlepsze praktyki również ewoluują!
W tej książce:
- nowe rozwiązania dla wszystkich najważniejszych obszarów programowania w Pythonie
- techniki stosowania konstrukcji składanych i funkcji generatorów
- właściwe korzystanie z klas, obiektów, metaklas i atrybutów dynamicznych
- współbieżność, równoległość, optymalizacja i bezpieczeństwo kodu
- wbudowane moduły Pythona do debugowania i testowania
- narzędzia i najlepsze praktyki podczas wspólnej pracy nad projektami
Python: elegancja, wydajność i ekspresja kodu!
Duża popularność Pythona bierze się z faktu, że bardzo łatwo można rozpocząć programowanie w tym języku. Jednak jego unikatowe atuty, czar i ekspresyjność mogą być też trudne do uchwycenia. Stąd też wynika wiele pułapek, które mogą zaskoczyć i utrudnić pracę, zwłaszcza początkującemu programiście.
Wydanie drugie książki Efektywny Python pomoże Czytelnikowi biegle opanować podejście do programowania zgodnego z duchem Pythona. Przedstawiony tutaj materiał umożliwi wykorzystanie Pythona do tworzenia wyjątkowo solidnego i charakteryzującego się doskonałą wydajnością kodu źródłowego. Użyty w książce zwięzły, oparty na scenariuszach styl zainspirowany zastosowanym przez Scotta Meyersa w C++. 50 efektywnych sposobów na udoskonalenie Twoich programów umożliwił autorowi połączenie 90 najlepszych praktyk, wskazówek i skrótów oraz wyjaśnienie ich na rzeczywistych przykładach kodu.
Opierając się na wieloletnim doświadczeniu budowy infrastruktury Pythona podczas pracy w Google, Brett Slatkin odkrywa przed Czytelnikami mało znane dziwactwa i sposoby, które mają znaczny wpływ na zachowanie i wydajność działania kodu źródłowego. Z książki dowiesz się, jak najlepiej wykonywać kluczowe zadania, czyli w jaki sposób tworzyć kod łatwy do zrozumienia, obsługi i dalszej rozbudowy. W tym wydaniu wszystkie sposoby z wydania pierwszego zostały znacząco poprawione, co ma na celu odzwierciedlenie ewolucji najlepszych praktyk.
W książce poruszono następujące zagadnienia:
- 30 nowych podpowiedzi na wszystkich najważniejszych obszarach programowania w Pythonie.
- Dokładne objaśnienia i przykłady poleceń, wyrażeń i typów wbudowanych.
- Najlepsze praktyki dotyczące tworzenia funkcji czytelnie wyrażających intencje, promujących wielokrotne użycie tego samego kodu i pomagających uniknąć błędów.
- Lepsze techniki i rozwiązania w zakresie użycia konstrukcji składanych i funkcji generatorów.
- Omówienie tematu właściwego wyrażenia zachowania programu za pomocą klas i obiektów.
- Podpowiedzi pomagające uniknąć pułapek podczas użycia metaklas i atrybutów dynamicznych.
- Prezentacja znacznie efektywniejszego podejścia w zakresie współbieżności i równoległości.
- Rozwiązania dotyczące optymalizacji i zapewnienia bezpieczeństwa kodu, co prowadzi do poprawy jakości kodu i wydajności jego działania
- Przedstawienie technik i wbudowanych modułów Pythona pomagających w debugowaniu i testowaniu.
- Prezentacja narzędzi i najlepszych praktyk stosowanych podczas wspólnej pracy nad projektami.
Wybrane bestsellery
-
W kolejnych rozdziałach znajdziesz bezcenne informacje na temat programowania zgodnego z duchem Pythona, funkcji, klas i dziedziczenia oraz metaklas i atrybutów. Dalsze strony zawierają przydatną wiedzę na temat wątków i współbieżności, wbudowanych modułów oraz sposobów zarządzania kodem. Książka...(24.50 zł najniższa cena z 30 dni)
24.50 zł
49.00 zł(-50%) -
Tę książkę docenią średnio zaawansowani użytkownicy Pythona, którzy tworzą aplikacje korzystające z osiągnięć nauki o danych. Znajdziesz w niej omówienie możliwości języka, wbudowanych struktur danych Pythona, jak również takich bibliotek jak NumPy, pandas, scikit-learn i matplotlib. Nauczysz się...(44.85 zł najniższa cena z 30 dni)
48.30 zł
69.00 zł(-30%) -
Internet rozwija się w niesamowitym tempie. Dawniej sieć WWW była prostsza ― projektanci łączyli kod PHP, HTML i zapytania do MySQL w jednym pliku. Z czasem urosła do miliardów stron, co radykalnie zmieniło jej kształt. Zmieniły się też narzędzia i sposób pracy. Dziś idealnym wyborem dewelo...(44.85 zł najniższa cena z 30 dni)
48.30 zł
69.00 zł(-30%) -
Czy jesteś gotowy, aby wznieść swoje umiejętności programowania w Pythonie na zupełnie nowy poziom? Najnowsza publikacja renomowanego autora Kevina Clarksona to prawdziwa skarbnica wiedzy dla doświadczonych programistów, którzy pragną zgłębić najbardziej zaawansowane aspekty tego wszechstronnego ...
-
Oddajemy w Państwa ręce kompendium wiedzy, które stanowi nieocenione źródło informacji dla wszystkich zainteresowanych zgłębianiem tajników uczenia maszynowego i głębokiego uczenia. Ta obszerna publikacja, licząca ponad 800 stron, jest prawdziwą skarbnicą wiedzy teoretycznej i praktycznej, staran...
-
Dzięki tej książce dowiesz się, jak pozyskiwać, analizować i wizualizować dane, a potem używać ich do rozwiązywania problemów biznesowych. Wystarczy, że znasz podstawy Pythona i matematyki na poziomie liceum, aby zacząć stosować naukę o danych w codziennej pracy. Znajdziesz tu szereg praktycznych...(41.40 zł najniższa cena z 30 dni)
48.30 zł
69.00 zł(-30%) -
Oto zaktualizowane wydanie popularnego przewodnika, dzięki któremu skorzystasz z ponad dwustu sprawdzonych receptur bazujących na najnowszych wydaniach bibliotek Pythona. Wystarczy, że skopiujesz i dostosujesz kod do swoich potrzeb. Możesz też go uruchamiać i testować za pomocą przykładowego zbio...(53.40 zł najniższa cena z 30 dni)
62.30 zł
89.00 zł(-30%) -
To trzecie, zaktualizowane i uzupełnione wydanie bestsellerowego podręcznika programowania w Pythonie. Naukę rozpoczniesz od podstawowych koncepcji programowania. Poznasz takie pojęcia jak zmienne, listy, klasy i pętle, a następnie utrwalisz je dzięki praktycznym ćwiczeniom. Dowiesz się, jak zape...(71.40 zł najniższa cena z 30 dni)
83.30 zł
119.00 zł(-30%) -
Nie musisz dłużej czekać na włączenie Pythona jako języka skryptowego Excela - ta książka wyjaśnia, jak je połączyć i wyciągnąć z tej integracji maksimum korzyści. To wydanie przeznaczone dla zaawansowanych użytkowników Excela, którzy nie posiadają głębokiej wiedzy o Pythonie. Pokazuje, w jaki sp...(41.40 zł najniższa cena z 30 dni)
48.30 zł
69.00 zł(-30%) -
W tym przewodniku opisano zagadnienia związane z podstawami nauki o danych. Wyjaśniono niezbędne elementy matematyki i statystyki. Przedstawiono także techniki budowy potrzebnych narzędzi i sposoby działania najistotniejszych algorytmów. Książka została skonstruowana tak, aby poszczególne impleme...(47.40 zł najniższa cena z 30 dni)
55.30 zł
79.00 zł(-30%)
O autorze ebooka
Brett Slatkin - starszy inżynier oprogramowania w Google, współzałożyciel i lider w Google Consumer Surveys. Brał udział w pracach nad infrastrukturą Google App Engine dla języka Python. Wykorzystał potencjał języka Python do zarządzania serwerami Google. Ukończył Uniwersytet Columbia w Nowym Jorku.
Ebooka "Efektywny Python. 90 sposobów na lepszy kod. Wydanie II" przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Boox i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka "Efektywny Python. 90 sposobów na lepszy kod. Wydanie II" posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolnych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video "Efektywny Python. 90 sposobów na lepszy kod. Wydanie II" zobaczysz:
-
w aplikacjach Ebookpoint i Videopoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych z dostępem do najnowszej wersji Twojej przeglądarki internetowej
Szczegóły ebooka
- Tytuł oryginału:
- Effective Python: 90 Specific Ways to Write Better Python (2nd Edition) (Effective Software Development Series)
- Tłumaczenie:
- Robert Górczyński
- ISBN Książki drukowanej:
- 978-83-283-6732-6, 9788328367326
- Data wydania książki drukowanej:
- 2020-08-17
- ISBN Ebooka:
- 978-83-283-6733-3, 9788328367333
- Data wydania ebooka:
- 2020-08-14 Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@ebookpoint.pl.
- Format:
- 168x237
- Numer z katalogu:
- 118499
- Rozmiar pliku Pdf:
- 2.4MB
- Rozmiar pliku ePub:
- 3.4MB
- Rozmiar pliku Mobi:
- 8.9MB
- Pobierz przykładowy rozdział PDF
- Przykłady na ftp
Ebook zawiera materiały dodatkowe, które możesz pobrać z serwera FTP - link znajdziesz na stronie redakcyjnej.
Spis treści ebooka
- Sposób 1. Ustalenie używanej wersji Pythona 19
- Sposób 2. Stosuj styl PEP 8 21
- Sposób 3. Różnice między typami bytes i str 23
- Sposób 4. Wybieraj interpolowane ciągi tekstowe f zamiast ciągów tekstowych formatowania w stylu C i funkcji str.format() 28
- Sposób 5. Decyduj się na funkcje pomocnicze zamiast na skomplikowane wyrażenia 38
- Sposób 6. Zamiast indeksowania wybieraj rozpakowanie wielu operacji przypisania 41
- Sposób 7. Preferuj użycie funkcji enumerate() zamiast range() 44
- Sposób 8. Używaj funkcji zip() do równoczesnego przetwarzania iteratorów 46
- Sposób 9. Unikaj bloków else po pętlach for i while 48
- Sposób 10. Unikaj powtórzeń w wyrażeniach przypisania 50
- Sposób 11. Umiejętnie podziel sekwencje 57
- Sposób 12. Unikaj użycia indeksów początek, koniec i wartości kroku w pojedynczej operacji podziału 60
- Sposób 13. Wybieraj rozpakowanie typu catch-all zamiast tworzenia wycinków 62
- Sposób 14. Używaj parametru key podczas sortowania według skomplikowanych kryteriów 66
- Sposób 15. Zachowaj ostrożność, gdy polegasz na kolejności wstawiania elementów do obiektu typu dict 71
- Sposób 16. Podczas obsługi brakujących kluczy słownika wybieraj funkcję get() zamiast operatora in i wyjątku KeyError 78
- Sposób 17. Podczas obsługi brakujących elementów w wewnętrznym stanie wybieraj typ defaultdict zamiast metody setdefault() 82
- Sposób 18. Wykorzystaj metodę __missing__() do tworzenia wartości domyślnych w zależności od klucza 84
- Sposób 19. Gdy funkcja zwraca wiele wartości, nie rozpakowuj więcej niż trzech zmiennych 89
- Sposób 20. Preferuj wyjątki zamiast zwrotu wartości None 92
- Sposób 21. Zobacz, jak domknięcia współdziałają z zakresem zmiennej 95
- Sposób 22. Zmniejszenie wizualnego zagmatwania za pomocą zmiennej liczby argumentów pozycyjnych 98
- Sposób 23. Zdefiniowanie zachowania opcjonalnego za pomocą argumentów w postaci słów kluczowych 101
- Sposób 24. Użycie None i docstring w celu dynamicznego określenia argumentów domyślnych 105
- Sposób 25. Wymuszaj czytelność kodu, stosując jedynie argumenty w postaci słów kluczowych 108
- Sposób 26. Dekoratory funkcji definiuj za pomocą functools.wraps 112
- Sposób 27. Używaj list składanych zamiast funkcji map() i filter() 117
- Sposób 28. Unikaj więcej niż dwóch wyrażeń na liście składanej 119
- Sposób 29. Stosuj wyrażenia przypisania, aby unikać powielania zadań w konstrukcjach składanych 121
- Sposób 30. Rozważ użycie generatorów, zamiast zwracać listy 124
- Sposób 31. Podczas iteracji przez argumenty zachowuj postawę defensywną 126
- Sposób 32. Rozważ użycie generatora wyrażeń dla dużych list składanych 131
- Sposób 33. Twórz wiele generatorów za pomocą wyrażenia yield from 132
- Sposób 34. Unikaj wstrzykiwania danych do generatorów za pomocą metody send() 135
- Sposób 35. Unikaj w generatorach przejścia między stanami za pomocą metody throw() 140
- Sposób 36. Rozważ stosowanie modułu itertools w pracy z iteratorami i generatorami 144
- Sposób 37. Twórz klasy, zamiast zagnieżdżać wiele poziomów typów wbudowanych 151
- Sposób 38. Dla prostych interfejsów akceptuj funkcje zamiast klas 157
- Sposób 39. Użycie polimorfizmu @classmethod w celu ogólnego tworzenia obiektów 160
- Sposób 40. Inicjalizacja klasy nadrzędnej za pomocą wywołania super() 165
- Sposób 41. Rozważ łączenie funkcjonalności za pomocą klas domieszek 169
- Sposób 42. Preferuj atrybuty publiczne zamiast prywatnych 173
- Sposób 43. Stosuj dziedziczenie po collections.abc w kontenerach typów niestandardowych 178
- Sposób 44. Używaj zwykłych atrybutów zamiast metod typu getter i setter 183
- Sposób 45. Rozważ użycie @property zamiast refaktoryzacji atrybutów 187
- Sposób 46. Stosuj deskryptory, aby wielokrotnie wykorzystywać metody udekorowane przez @property 191
- Sposób 47. Używaj metod __getattr__(), __getattribute__() i __setattr__() dla opóźnionych atrybutów 196
- Sposób 48. Sprawdzaj podklasy za pomocą __init_subclass__ 201
- Sposób 49. Rejestruj istniejące klasy za pomocą __init_subclass__() 208
- Sposób 50. Adnotacje atrybutów klas dodawaj za pomocą metody __set_name__() 212
- Sposób 51. Dla złożonych rozszerzeń klas wybieraj dekoratory klas zamiast metaklas 216
- Sposób 52. Używaj modułu subprocess do zarządzania procesami potomnymi 224
- Sposób 53. Użycie wątków dla operacji blokujących wejście- yjście, unikanie równoległości 228
- Sposób 54. Używaj klasy Lock, aby unikać stanu wyścigu w wątkach 232
- Sposób 55. Używaj klasy Queue do koordynacji pracy między wątkami 236
- Sposób 56. Naucz się rozpoznawać, kiedy współbieżność jest niezbędna 244
- Sposób 57. Unikaj tworzenia nowych egzemplarzy Thread na żądanie fan-out 248
- Sposób 58. Pamiętaj, że stosowanie Queue do obsługi współbieżności wymaga refaktoringu 252
- Sposób 59. Rozważ użycie klasy ThreadPoolExecutor, gdy wątki są potrzebne do zapewnienia współbieżności 258
- Sposób 60. Zapewnij wysoką współbieżność operacji wejścia-wyjścia dzięki użyciu współprogramów 260
- Sposób 61. Naucz się przekazywać do asyncio wątkowane operacje wejścia-wyjścia 264
- Sposób 62. Połączenie wątków i współprogramów w celu ułatwienia konwersji na wersję stosującą asyncio 274
- Sposób 63. Maksymalizuj responsywność przez unikanie blokującej pętli zdarzeń asyncio 280
- Sposób 64. Rozważ użycie concurrent.futures(), aby otrzymać prawdziwą równoległość 283
- Sposób 65. Wykorzystanie zalet wszystkich bloków w konstrukcji try-except-else-finally 289
- Sposób 66. Rozważ użycie poleceń contextlib i with w celu uzyskania wielokrotnego użycia konstrukcji try-finally 294
- Sposób 67. Podczas obsługi czasu lokalnego używaj modułu datetime zamiast time 297
- Sposób 68. Niezawodne użycie pickle wraz z copyreg 301
- Sposób 69. Gdy ważna jest precyzja, używaj modułu decimal 307
- Sposób 70. Przed optymalizacją przeprowadzaj profilowanie 310
- Sposób 71. Wybieraj typ deque podczas tworzenia kolejek typu producent - konsument 314
- Sposób 72. Podczas wyszukiwania danych w sortowanych sekwencjach stosuj moduł bisect 321
- Sposób 73. W kolejkach priorytetowych używaj modułu heapq 323
- Sposób 74. Podczas kopiowania zerowego obiektów typu bytes używaj egzemplarzy memoryview i bytearray 331
- Sposób 75. Używaj ciągów tekstowych repr do debugowania danych wyjściowych 338
- Sposób 76. W podklasach klasy TestCase sprawdzaj powiązane ze sobą zachowanie 341
- Sposób 77. Izoluj testy od siebie za pomocą metod setUp(), tearDown(), setUpModule() i tearDownModule() 348
- Sposób 78. Podczas testowania kodu zawierającego skomplikowane zależności korzystaj z imitacji 350
- Sposób 79. Hermetyzuj zależności, aby ułatwić tworzenie imitacji i testowanie 357
- Sposób 80. Rozważ interaktywne usuwanie błędów za pomocą pdb 361
- Sposób 81. Stosuj moduł tracemalloc, aby poznać sposób użycia pamięci i wykryć jej wycieki 365
- Sposób 82. Kiedy szukać modułów opracowanych przez społeczność? 369
- Sposób 83. Używaj środowisk wirtualnych dla odizolowanych i powtarzalnych zależności 370
- Sposób 84. Dla każdej funkcji, klasy i modułu utwórz docstring 375
- Sposób 85. Używaj pakietów do organizacji modułów i dostarczania stabilnych API 380
- Sposób 86. Rozważ użycie kodu o zasięgu modułu w celu konfiguracji środowiska wdrożenia 385
- Sposób 87. Zdefiniuj główny wyjątek Exception w celu odizolowania komponentu wywołującego od API 387
- Sposób 88. Zobacz, jak przerwać krąg zależności 391
- Sposób 89. Rozważ użycie modułu warnings podczas refaktoryzacji i migracji kodu 395
- Sposób 90. Rozważ stosowanie analizy statycznej za pomocą modułu typing w celu usuwania błędów 401
Wprowadzenie 11
Podziękowania 15
O autorze 17
Rozdział 1. Programowanie zgodne z duchem Pythona 19
Rozdział 2. Lista i słownik 57
Rozdział 3. Funkcje 89
Rozdział 4. Konstrukcje składane i generatory 117
Rozdział 5. Klasy i interfejsy 151
Rozdział 6. Metaklasy i atrybuty 183
Rozdział 7. Współbieżność i równoległość 223
Rozdział 8. Niezawodność i wydajność 289
Rozdział 9. Testowanie i debugowanie 337
Rozdział 10. Współpraca 369
Oceny i opinie klientów: Efektywny Python. 90 sposobów na lepszy kod. Wydanie II Brett Slatkin (9) Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.
(5)
(0)
(1)
(0)
(1)
(2)
Oceny i opinie poprzedniego wydania
więcej opinii