Używamy cookies, aby ułatwić korzystanie z Portalu. Możesz określić warunki przechowywania, dostępu do plików cookies w Twojej przeglądarce. Dowiedz się więcej.
strona główna Strona główna | Nowości | Promocje | Zapowiedzi Twoje konto | Zarejestruj | Schowek | Kontakt | Pomoc
mapa działów
Szukaj: szukanie zaawansowane
Koszyk
Książki \ Programowanie \ Python

Czysty kod w Pythonie Język: 1

978-83-283-6462-2

Cena Brutto: 39.90

Cena netto: 38.00

Ilość:
Wersja: Drukowana
Autor Sunil Kapil
Liczba_stron 176
Wydawnictwo Helion
Oprawa miękka
Data_Wydania 2020-05-19

W porównaniu z innymi językami programowania Python wyróżnia się prostotą i zaskakującymi możliwościami. Używa się go do analizy danych, budowania sztucznej inteligencji, tworzenia stron WWW, jak również w badaniach naukowych. Właściwości tego języka sprawiają, że kod trzeba pisać uważnie, szczególnie w dużych projektach. Tymczasem trudno jest znaleźć odpowiednio dobre źródło informacji o sposobach tworzenia kodu wysokiej jakości. Publikacje dotyczące dobrych praktyk kodowania w Pythonie są nieliczne, a ich jakość nieraz pozostawia wiele do życzenia. Dodatkowy problem wynika z wszechstronności Pythona: jest wykorzystywany w wielu dziedzinach i trudno wskazać wspólne dla nich wzorce programistyczne.


Ta książka jest znakomitym przewodnikiem, dzięki któremu zaczniesz tworzyć wydajne i bezbłędne aplikacje w Pythonie. Zaczniesz od formatowania i dokumentowania kodu, umiejętnego stosowania wbudowanych struktur, stosowania modułów i metaklas. W ten sposób nauczysz się pisać uporządkowany kod. Potem poznasz nowe funkcjonalności języka Python i dowiesz się, jak efektywnie z nich korzystać. Następnie dowiesz się, jak wykorzystywać zaawansowane cechy języka, takie jak programowanie asynchroniczne, określanie typów danych i obsługa ścieżek, a także jak diagnozować kod, wykonywać testy jednostkowe i integracyjne oraz przygotowywać kod do uruchomienia w środowisku produkcyjnym. Na końcu poznasz najważniejsze narzędzia przeznaczone do szybkiego tworzenia kodu, zarządzania jego wersjami i weryfikowania poprawności.


W tej książce między innymi:

  • właściwe wykorzystywanie wyrażeń i instrukcji
  • tworzenie własnych słowników
  • zaawansowane struktury danych
  • pisanie najlepszych modułów, klas i funkcji
  • asynchroniczne wywoływanie funkcji

Python: kodowanie jest sztuką!

O autorze 7

O korektorze merytorycznym 8

Podziękowania 9

Wprowadzenie 11

Rozdział 1. Kodowanie pythoniczne 13

  • Tworzenie pythonicznego kodu 13
    • Nazewnictwo 14
    • Wyrażenia i instrukcje 16
    • Pythoniczny styl kodowania 19
  • Komentarze dokumentacyjne 24
    • Komentarze dokumentacyjne do modułów 26
    • Komentarze dokumentacyjne do klas 26
    • Komentarze dokumentacyjne do funkcji 27
    • Przydatne narzędzia dokumentacyjne 28
  • Pythoniczne struktury sterujące 28
    • Wyrażenia listowe 28
    • Nie twórz skomplikowanych wyrażeń listowych 29
    • Kiedy stosować wyrażenia lambda? 31
    • Kiedy stosować generatory, a kiedy wyrażenia listowe? 31
    • Dlaczego nie należy stosować instrukcji else w pętlach? 32
    • Dlaczego warto stosować funkcję range() w języku Python 3? 34
  • Zgłaszanie wyjątków 35
    • Często zgłaszane wyjątki 36
    • Obsługuj wyjątki za pomocą instrukcji finally 37
    • Twórz własne klasy wyjątków 37
    • Obsługuj konkretne wyjątki 39
    • Zwracaj uwagę na zewnętrzne wyjątki 40
    • Twórz jak najmniejsze bloki try 41
  • Podsumowanie 42

Rozdział 2. Struktury danych 43

  • Popularne struktury danych 43
    • Zbiory i wydajny kod 43
    • Przetwarzanie danych za pomocą struktury namedtuple 45
    • Typ str i znaki diakrytyczne 47
    • Zamiast list stosuj iteratory 48
    • Przetwarzaj listy za pomocą funkcji zip() 50
    • Wykorzystuj zalety wbudowanych funkcji 51
  • Zalety słownika 53
    • Kiedy używać słownika zamiast innych struktur? 53
    • Kolekcje 53
    • Słowniki uporządkowany, domyślny i zwykły 56
    • Słownik jako odpowiednik instrukcji switch 57
    • Scalanie słowników 58
    • Czytelne wyświetlanie zawartości słownika 59
  • Podsumowanie 60

Rozdział 3. Jak pisać lepsze funkcje i klasy? 61

  • Funkcje 61
    • Twórz małe funkcje 61
    • Twórz generatory 63
    • Używaj wyjątku zamiast wyniku None 64
    • Stosuj w argumentach klucze i wartości domyślne 65
    • Nie twórz funkcji jawnie zwracających wynik None 66
    • Krytycznie podchodź do tworzonych funkcji 68
    • Stosuj w wyrażeniach funkcje lambda 70
  • Klasy 71
    • Jak duża powinna być klasa? 71
    • Struktura klasy 72
    • Właściwe użycie dekoratora @property 74
    • Kiedy należy stosować metody statyczne? 75
    • Dziedziczenie klas abstrakcyjnych 76
    • Odwołania do stanu klasy przy użyciu dekoratora @classmethod 77
    • Atrybuty publiczne zamiast prywatnych 78
  • Podsumowanie 79

Rozdział 4. Praca z modułami i metaklasami 81

  • Moduły i metaklasy 81
  • Porządkowanie kodu za pomocą modułów 82
  • Zalety pliku __init__.py 84
  • Importowanie funkcji i klas z modułów 86
    • Blokowanie importu całego modułu za pomocą metaklasy __all__ 87
  • Kiedy stosować metaklasy? 88
  • Weryfikowanie podklas za pomocą metody __new__() 89
  • Dlaczego atrybut __slots__ jest tak przydatny? 91
  • Modyfikowanie funkcjonowania klasy za pomocą metaklasy 93
  • Deskryptory w języku Python 94
  • Podsumowanie 96

Rozdział 5. Dekoratory i menedżery kontekstu 97

  • Dekoratory 97
    • Czym są dekoratory i dlaczego są tak przydatne? 98
    • Korzystanie z dekoratorów 99
    • Modyfikowanie działania funkcji za pomocą dekoratorów 101
    • Stosowanie kilku dekoratorów jednocześnie 102
    • Dekorowanie funkcji z argumentami 103
    • Używaj dekoratorów z biblioteki 104
    • Dekoratory obsługujące stan klasy i weryfikujące poprawność danych 106
  • Menedżery kontekstu 108
    • Zalety menedżerów kontekstu 108
    • Tworzenie menedżera kontekstu od podstaw 109
    • Tworzenie menedżera kontekstu za pomocą biblioteki contextlib 111
    • Praktyczne przykłady użycia menedżera kontekstu 111
  • Podsumowanie 114

Rozdział 6. Generatory i iteratory 115

  • Zalety generatorów i iteratorów 115
    • Iteratory 115
    • Generatory 117
    • Kiedy stosować iteratory? 118
    • Moduł itertools 119
    • Dlaczego generatory są tak przydatne? 121
    • Wyrażenia listowe i iteratory 122
  • Zalety instrukcji yield 122
    • Instrukcja yield from 123
    • Instrukcja yield jest szybka 123
  • Podsumowanie 124

Rozdział 7. Nowe funkcjonalności języka Python 125

  • Programowanie asynchroniczne 125
    • Wprowadzenie do programowania asynchronicznego 126
    • Jak to działa? 128
    • Obiekty oczekiwalne 133
    • Biblioteki do tworzenia kodu asynchronicznego 139
  • Python i typy danych 143
    • Typy danych w Pythonie 143
    • Moduł typing 144
    • Czy typy danych spowalniają kod? 145
    • Jak dzięki modułowi typing można pisać lepszy kod? 146
  • Metoda super() 147
  • Lepsza obsługa ścieżek dzięki bibliotece pathlib 147
  • print() jest teraz funkcją 147
  • f-ciągi 147
  • Obowiązkowe argumenty pozycyjne 148
  • Kontrolowana kolejność elementów w słownikach 148
  • Iteracyjne rozpakowywanie struktur 149
  • Podsumowanie 149

Rozdział 8. Diagnostyka i testy kodu 151

  • Diagnostyka 151
    • Narzędzia diagnostyczne 152
    • Funkcja breakpoint() 155
    • Moduł logging zamiast funkcji print() 155
    • Identyfikowanie słabych punktów kodu za pomocą metryk 159
    • Do czego przydaje się środowisko IPython? 159
  • Testy 161
    • Dlaczego testowanie kodu jest ważne? 161
    • Biblioteki pytest i unittest 161
    • Testowanie oparte na właściwościach 164
    • Tworzenie raportów z testów 165
    • Automatyzacja testów jednostkowych 166
    • Przygotowanie kodu do uruchomienia w środowisku produkcyjnym 166
    • Sprawdzanie pokrycia kodu testami 167
    • Program virtualenv 168
  • Podsumowanie 169

Dodatek. Niezwykłe narzędzia dla języka Python 171

  • Sphinx 171
  • Coverage.py 172
  • pre-commit 173
  • Pyenv 173
  • Jupyter Lab 174
  • Pycharm/VSCode/Sublime 174
  • Flake8 i Pylint 175
powrót
 
Produkty Podobne
Uczenie maszynowe w Pythonie. Leksykon kieszonkowy
Python. Instrukcje dla programisty. Wydanie II
Uczenie głębokie od zera. Podstawy implementacji w Pythonie
Czysty kod w Pythonie
Programowanie w Pythonie dla bystrzaków. Wydanie II
Effective Python: 90 Specific Ways to Write Better Python, 2nd Edition
Machine Learning with Python for Everyone
Ekstrakcja danych z językiem Python. Pozyskiwanie danych z internetu. Wydanie II
Python ninja. 70 sekretnych receptur i taktyk programistycznych
Python. Uczymy się programowania
Więcej produktów