Szczegóły ebooka

Przewodnik po Pythonie. Dobre praktyki i praktyczne narzędzia

Przewodnik po Pythonie. Dobre praktyki i praktyczne narzędzia

Kenneth Reitz, Tanya Schlusser

Ebook

Python to potężny, wszechstronny, a do tego cechujący się prostotą i elastycznością język ułatwiający wydajne tworzenie czytelnego kodu. Nadaje się do bardzo różnych zastosowań, włączając w to wysoce specjalistyczne zadania, takie jak analiza danych. Python cieszy się niezwykłym wsparciem społeczności, dzięki czemu powstają nowe ciekawe narzędzia dla programistów. To wszystko sprawia, że dla twórców oprogramowania biegłe posługiwanie się Pythonem staje się bardzo niezbędną umiejętnością.

Niniejsza książka jest przeznaczona dla średnio zaawansowanych programistów. Zawarto tu zbiór najlepszych praktyk i opis ulubionych narzędzi entuzjastów Pythona. Przedstawiono doskonałe biblioteki do aplikacji konsolowych, graficznych interfejsów i aplikacji internetowych oraz do analizy danych, obróbki zdjęć i dźwięku, a także biblioteki sieciowe do akcji asynchronicznych, serializacji i kryptografii. Znalazły się tu liczne przykłady fragmentów znakomitego kodu, opisano również dobre praktyki pakietowania i dystrybucji kodu. Książka ta stanowi świetne źródło informacji o konwencjach i praktykach wypracowanych przez społeczność Pythona, co będzie szczególnie cenne dla każdego, kto chce zyskać prawdziwą biegłość w posługiwaniu się tym językiem.

Najważniejsze zagadnienia przedstawione w książce:

  • edytory kodu, środowiska programistyczne i interpretery Pythona,
  • styl kodu, konwencje i idiomy oraz struktura aplikacji,
  • techniki testowania aplikacji,
  • operacje na danych, data mining i zastosowania naukowe,
  • praca na bazach danych.

Python — poznaj i stosuj narzędzia ekspertów!


Kenneth Reitz jest znanym projektantem oprogramowania. Jest członkiem Python Software Foundation. Chętnie propaguje ideę oprogramowania open source — brał udział w tworzeniu wielu takich projektów, na przykład Requests: HTTP for Humans. Tanya Schlusser biegle posługuje się kilkoma językami programowania. Zajmuje się również głęboką analizą danych i ich wykorzystywaniem w podejmowaniu decyzji strategicznych. Jest członkinią Chicago Python User’s Group i Chicago’s PyLadies. Jest niezależną konsultantką — szkoli studentów i firmowe zespoły analityków danych.

Przedmowa (11)

CZĘŚĆ I. WPROWADZENIE (13)

1. Wybór interpretera (15)

  • Python 2 kontra Python 3 (15)
  • Zalecenia (15)
  • Więc... 3? (16)
  • Implementacje (16)
    • CPython (17)
    • Stackless (17)
    • PyPy (17)
    • Jython (18)
    • IronPython (18)
    • PythonNet (18)
    • Skulpt (18)
    • MicroPython (19)

2. Prawidłowa instalacja Pythona (21)

  • Instalacja Pythona na macOS (21)
    • Setuptools i pip (23)
    • virtualenv (23)
  • Instalacja Pythona w Linuksie (24)
    • Setuptools i pip (24)
    • Narzędzia deweloperskie (25)
    • virtualenv (26)
  • Instalacja Pythona w Windowsie (26)
    • Setuptools i pip (28)
    • virtualenv (29)
  • Komercyjne redystrybucje Pythona (29)

3. Twoje środowisko programistyczne (33)

  • Edytory tekstu (33)
    • Sublime Text (35)
    • Vim (35)
    • Emacs (37)
    • TextMate (38)
    • Atom (38)
    • Visual Studio Code (39)
  • Zintegrowane środowiska programistyczne (39)
    • PyCharm/IntelliJ IDEA (40)
    • Aptana Studio 3/Eclipse + LiClipse + PyDev (41)
    • WingIDE (41)
    • Spyder (42)
    • Ninja-IDE (42)
    • Komodo IDE (42)
    • Eric (Eric Python IDE) (43)
    • Visual Studio (43)
  • Interaktywne narzędzia (43)
    • IDLE (44)
    • IPython (44)
    • bpython (44)
  • Narzędzia izolacji (45)
    • Środowiska wirtualne (45)
    • Pyenv (47)
    • Autoenv (47)
    • Virtualenvwrapper (48)
    • Buildout (49)
    • conda (49)
    • Docker (50)

CZĘŚĆ II. PRZEJDŹMY DO RZECZY (53)

4. Pisanie świetnego kodu (55)

  • Styl kodu (55)
    • PEP 8 (55)
    • PEP 20 (czyli Zen Pythona) (56)
    • Ogólne porady (57)
    • Konwencje (63)
    • Idiomy (65)
    • Ogólnie znane dziwactwa Pythona (68)
  • Strukturyzacja projektu (71)
    • Moduły (71)
    • Pakiety (74)
    • Programowanie obiektowe (75)
    • Dekoratory (77)
    • Typowanie dynamiczne (78)
    • Typy zmienne i niezmienne (78)
    • Dostarczanie zależności (80)
  • Testowanie kodu (81)
    • Podstawy testowania (83)
    • Przykłady (85)
    • Inne popularne narzędzia (87)
  • Dokumentacja (89)
    • Dokumentacja projektu (90)
    • Opublikowanie kodu (90)
    • Docstring kontra komentarze blokowe (91)
  • Logowanie (92)
    • Logowanie w przypadku biblioteki (92)
    • Logowanie w przypadku aplikacji (93)
  • Wybór licencji (95)
    • Licencja wstępna (95)
    • Opcje (95)
    • Licencjonowanie źródeł (97)

5. Analiza świetnego kodu (99)

  • Wspólne cechy (100)
  • HowDoI (100)
    • Analiza jednoplikowych skryptów (101)
    • Przykłady struktury z HowDoI (103)
    • Przykłady stylu z HowDoI (105)
  • Diamond (106)
    • Analiza większej aplikacji (107)
    • Przykłady struktury z Diamonda (110)
    • Przykłady stylu z Diamonda (115)
  • Tablib (117)
    • Analiza małej biblioteki (117)
    • Przykłady struktury z Tabliba (120)
    • Przykłady stylu z Tabliba (126)
  • Requests (128)
    • Analiza większej biblioteki (128)
    • Przykłady struktury z Requests (132)
    • Przykłady stylu z Requests (135)
  • Werkzeug (139)
    • Analiza kodu zestawu narzędzi (140)
    • Przykłady stylu z Werkzeuga (146)
    • Przykłady struktury z Werkzeuga (147)
  • Flask (151)
    • Analiza kodu frameworka (152)
    • Przykłady stylu z Flaska (157)
    • Przykłady struktury z Flaska (158)

6. Publikowanie świetnego kodu (161)

  • Przydatne słownictwo i pojęcia (162)
  • Pakietowanie własnego kodu (163)
    • Conda (163)
    • PyPI (163)
  • Zamrażanie swojego kodu (166)
    • PyInstaller (168)
    • cx_Freeze (169)
    • py2app (170)
    • py2exe (171)
    • bbFreeze (171)
  • Pakietowanie dla dystrybucji budowy Linuksa (172)
  • Wykonywalne pliki ZIP (173)

CZĘŚĆ III. PRZEWODNIK PO SCENARIUSZACH (177)

7. Interakcja z użytkownikiem (179)

  • Notatniki Jupytera (179)
  • Aplikacje konsolowe (180)
  • Aplikacje z interfejsem graficznym (187)
    • Biblioteki widżetów (187)
    • Produkcja gier (192)
  • Aplikacje webowe (193)
    • Frameworki webowe (mikroframeworki) (193)
    • Silniki szablonów webowych (197)
    • Implementacja w sieci (201)

8. Zarządzanie i ulepszanie kodu (205)

  • Ciągła integracja (205)
  • Zarządzanie systemem (206)
    • Automatyzacja serwera (208)
    • Monitorowanie systemu i zadań (211)
  • Szybkość (214)
    • Wchodzenie w interakcję z bibliotekami C, C++, FORTRANA (223)

9. Interfejsy oprogramowania (227)

  • Klienty sieciowe (228)
    • Webowe API (228)
  • Serializacja danych (232)
  • Systemy rozproszone (235)
    • Sieci (235)
  • Kryptografia (240)

10. Operacje na danych (247)

  • Zastosowania naukowe (248)
  • Operacje na danych tekstowych i data mining (252)
    • Narzędzia do operacji na łańcuchach w bibliotece standardowej Pythona (252)
    • Operacje na obrazach (254)

11. Trwałość danych (257)

  • Ustrukturyzowane pliki (257)
  • Biblioteki baz danych (258)

A. Uwagi dodatkowe (271)

  • Społeczność Pythona (271)
    • BDFL (271)
    • Python Software Foundation (271)
    • PEP-y (271)
  • Nauka Pythona (273)
    • Początkujący (273)
    • Średnio zaawansowani (275)
    • Zaawansowani (275)
    • Dla inżynierów i naukowców (275)
    • Różne tematy (276)
    • Odniesienia (276)
    • Dokumentacja (277)
    • Aktualności (278)

Skorowidz (279)

  • Tytuł: Przewodnik po Pythonie. Dobre praktyki i praktyczne narzędzia
  • Autor: Kenneth Reitz, Tanya Schlusser
  • Tytuł oryginału: The Hitchhiker's Guide to Python: Best Practices for Development
  • Tłumaczenie: Szymon Piechaczek
  • ISBN: 978-83-283-3733-6, 9788328337336
  • Data wydania: 2018-01-06
  • Format: Ebook
  • Identyfikator pozycji: przepy
  • Wydawca: Helion