- EOL
Uwaga! Sprzedaż produktu została zakończona. Sprawdź inne w tej kategorii. |
Opis produktu: Python. Zwięzłe kompendium dla programisty - David Beazley
W ciągu ostatnich trzydziestu lat Python przeszedł imponujący rozwój, stając się dojrzałym językiem programowania, który nadaje się doskonale do tworzenia zarówno prostych narzędzi, jak i skomplikowanych systemów. Rozległość jego możliwości jest rozszerzana przez liczne biblioteki i narzędzia. Niniejsza książka stanowi zwięzły, praktyczny przewodnik po Pythonie w wersji 3.6 i nowszych. Jej celem jest koncentracja na istocie języka oraz kluczowych kwestiach, które trzeba opanować, aby pisać wysokiej jakości kod w Pythonie. Poznasz działanie Pythona oraz zasady, których należy przestrzegać podczas tworzenia programów, które można łatwo testować, debugować i utrzymywać. Książka omawia zagadnienia, takie jak abstrakcja danych, kontrola przepływu programu, struktura programu, funkcje, obiekty i moduły.
Zagadnienia poruszane w książce
- czym jest rdzeń Pythona
- praca z danymi i ich analiza
- zasady tworzenia przejrzystego i niezawodnego kodu
- funkcje i idiomy w programowaniu funkcjonalnym
- generatory, klasy, moduły, pakiety
- prawidłowa obsługa I/O i korzyści ze stosowania słowników
Informacje o książce
- Tytuł: Python Distilled (Developer's Library)
- Autor: David Beazley
- Tłumaczenie: Łukasz Wójcicki
- ISBN: 978-83-283-9019-5
- Rok wydania: 2022
- Format: 165 x 235 mm
- Oprawa: miękka
- Ilość stron: 304
- Wydawnictwo: Helion S.A.
Spis treści
Przedmowa
Rozdział 1. Podstawy Pythona
1.1. Uruchamianie Pythona
1.2. Programy Pythona
1.3. Prymitywy, zmienne i wyrażenia
1.4. Operatory arytmetyczne
1.5. Warunki i sterowanie przepływem programu
1.6. Ciągi tekstowe
1.7. Operacje na plikach
1.8. Listy
1.9. Krotki
1.10. Zbiory
1.11. Słowniki
1.12. Iteracja i pętle
1.13. Funkcje
1.14. Wyjątki
1.15. Zakończenie programu
1.16. Obiekty i klasy
1.17. Moduły
1.18. Pisanie skryptów
1.19. Pakiety
1.20. Strukturyzacja aplikacji
1.21. Zarządzanie pakietami stron trzecich
1.22. Python pasuje do Twojego mózgu
Rozdział 2. Operatory, wyrażenia i manipulacja danymi
2.1. Literały
2.2. Wyrażenia i lokalizacje
2.3. Standardowe operatory
2.4. Modyfikacje w miejscu
2.5. Porównywanie obiektów
2.6. Operatory porównania porządkowego
2.7. Wyrażenia logiczne i wartości prawdziwe
2.8. Wyrażenia warunkowe
2.9. Operacje obejmujące elementy iterowalne
2.10. Operacje na sekwencjach
2.11. Operacje na mutowalnych obiektach sekwencyjnych
2.12. Operacje na zbiorach
2.13. Operacje na mapowaniach
2.14. Lista, zbiór i słownik
2.15. Wyrażenia generujące
2.16. Operator atrybutu (.)
2.17. Operator wywołania funkcji ()
2.18. Kolejność liczenia
2.19. Podsumowanie: sekretne życie danych
Rozdział 3. Struktura i kontrola przepływu programu
3.1. Struktura i wykonanie programu
3.2. Wykonanie warunkowe
3.3. Pętle i iteracje
3.4. Wyjątki
3.4.1. Hierarchia wyjątków
3.4.2. Wyjątki i kontrola przepływu
3.4.3. Definiowanie nowych wyjątków
3.4.4. Powiązane wyjątki
3.4.5. Śledzenie wyjątków
3.4.6. Wskazówka dotycząca obsługi wyjątków
79 3.5. Menedżery kontekstu i instrukcja with
3.6. Asercje i __debug__
3.7. Podsumowanie
Rozdział 4. Obiekty, typy i protokoły
4.1. Podstawowe pojęcia
4.2. Tożsamość i typ obiektu
4.3. Zliczanie referencji i odśmiecanie pamięci
4.4. Referencje i kopie
4.5. Reprezentacja obiektu i wyświetlanie
4.6. Obiekty pierwszoklasowe
4.7. Używanie wartości None dla opcjonalnych lub brakujących danych
4.8. Protokoły obiektu i abstrakcja danych
4.9. Protokół obiektu
4.10. Protokół liczbowy
4.11. Protokół porównania
4.12. Protokoły konwersji
4.13. Protokół kontenera
4.14. Protokół iteracji
4.15. Protokół atrybutów
4.16. Protokół funkcji
4.17. Protokół menedżera kontekstu
4.18. Podsumowanie: pythoniczność
Rozdział 5. Funkcje
5.1. Definicje funkcji
5.2. Argumenty domyślne
5.3. Argumenty wariadyczne (zmienna liczba argumentów)
5.4. Argumenty słów kluczowych
5.5. Wariadyczne argumenty słów kluczowych
5.6. Funkcje akceptujące wszystkie dane wejściowe
5.7. Argumenty tylko pozycyjne
5.8. Nazwy, wpisy dokumentacyjne i wskazówki dotyczące typów
5.9. Zastosowanie funkcji i przekazywanie parametrów
5.10. Zwracane wartości
5.11. Obsługa błędów
5.12. Zasady określania zakresu
5.13. Rekurencja
5.14. Wyrażenie lambda
5.15. Funkcje wyższego rzędu
5.16. Przekazywanie argumentów w funkcjach zwrotnych
5.17. Zwracanie wyników z wywołań zwrotnych
5.18. Dekoratory
5.19. Funkcje map, filter i reduce
5.20. Przegląd funkcji, atrybutów i sygnatur
5.21. Inspekcja środowiska
5.22. Dynamiczne wykonywanie i tworzenie kodu
5.23. Funkcje asynchroniczne i await
5.24. Podsumowanie: przemyślenia na temat funkcji i kompozycji
Rozdział 6. Generatory
6.1. Generatory i yield
6.2. Generatory z możliwością ponownego uruchomienia
6.3. Delegowanie generatora
6.4. Używanie generatorów w praktyce
6.5. Ulepszone generatory i wyrażenia yield
6.6. Zastosowania ulepszonych generatorów
6.7. Generatory i obsługa await
6.8. Podsumowanie: krótka historia generatorów i patrzenie w przyszłość
Rozdział 7. Klasy i programowanie obiektowe
7.1. Obiekty
7.2. Wyrażenie class
7.3. Instancje
7.4. Dostęp do atrybutów
7.5. Zasady ustalania zakresu
7.6. Przeciążanie operatora i protokoły
7.7. Dziedziczenie
7.8. Unikanie dziedziczenia poprzez kompozycję
7.9. Unikanie dziedziczenia poprzez funkcje
7.10. Wiązanie dynamiczne i technika kaczego typowania
7.11. Niebezpieczeństwo dziedziczenia po typach wbudowanych
7.12. Zmienne i metody klasy
7.13. Metody statyczne
7.14. Słowo na temat wzorców projektowych
7.15. Enkapsulacja danych i atrybuty prywatne
7.16. Wskazówka typu
7.17. Właściwości
7.18. Typy, interfejsy i klasy abstrakcyjne
7.19. Wielokrotne dziedziczenie, interfejsy i domieszki
7.20. Dyspozycja oparta na typie
7.21. Dekoratory klas
7.22. Nadzorowane dziedziczenie
7.23. Cykl życia obiektu i zarządzanie pamięcią
7.24. Słabe referencje
7.25. Wewnętrzna reprezentacja obiektów i wiązanie atrybutu
7.26. Proxy, wrapper i delegacje
7.27. Zmniejszenie wykorzystania pamięci za pomocą __slots__
7.28. Deskryptory
7.29. Proces definicji klasy
7.30. Dynamiczne tworzenie klas
7.31. Metaklasy
7.32. Obiekty wbudowane dla instancji i klas
7.33. Podsumowanie: zachowaj prostotę
Rozdział 8. Moduły i pakiety
8.1. Moduły i wyrażenie import
8.2. Buforowanie modułów
8.3. Importowanie wybranych nazw z modułu
8.4. Importy cykliczne
8.5. Ponowne ładowanie i zwolnienie modułu
8.6. Kompilacja modułów
8.7. Ścieżka wyszukiwania modułów
8.8. Wykonanie jako program główny
8.9. Pakiety
8.10. Import wewnątrz pakietu
8.11. Uruchamianie podmodułu pakietu jako skryptu
8.12. Kontrolowanie przestrzeni nazw pakietu
8.13. Kontrolowanie eksportu pakietów
8.14. Dane pakietu
8.15. Obiekty modułu
8.16. Wdrażanie pakietów Pythona
8.17. Przedostatnie słowo: zacznij od pakietu
8.18. Podsumowanie: zachowaj prostotę
Rozdział 9. Obsługa operacji wejścia-wyjścia
9.1. Reprezentacja danych
9.2. Kodowanie i dekodowanie tekstu
9.3. Formatowanie tekstu i bajtów
9.4. Czytanie opcji wiersza poleceń
9.5. Zmienne środowiskowe
9.6. Pliki i obiekty plików
9.6.1. Nazwy plików
9.6.2. Tryby plików
9.6.3. Buforowanie operacji wejścia-wyjścia
9.6.4. Kodowanie w trybie tekstowym
9.6.5. Obsługa wiersza w trybie tekstowym
9.7. Warstwy abstrakcyjne wejścia-wyjścia
9.7.1. Metody plików
9.8. Standardowe wejście, wyjście i błąd
9.9. Katalogi
9.10. Funkcja print()
9.11. Generowanie wyjścia
9.12. Pobieranie danych wejściowych
9.13. Serializacja obiektów
9.14. Operacje blokujące i współbieżność
9.14.1. Nieblokujące operacje wejścia-wyjścia
9.14.2. Odpytywanie operacji wejścia-wyjścia
9.14.3. Wątki
9.14.4. Równoczesne wykonywanie z asyncio
9.15. Standardowe moduły biblioteczne
9.15.1. Moduł asyncio
9.15.2. Moduł binascii
9.15.3. Moduł cgi
9.15.4. Moduł configparser
9.15.5. Moduł csv
9.15.6. Moduł errno
9.15.7. Moduł fcntl
9.15.8. Moduł hashlib
9.15.9. Pakiet http
9.15.10. Moduł io
9.15.11. Moduł json
9.15.12. Moduł logging
9.15.13. Moduł os
9.15.14. Moduł os.path
9.15.15. Moduł pathlib
9.15.16. Moduł re
9.15.17. Moduł shutil
9.15.18. Moduł select
9.15.19. Moduł smtplib
9.15.20. Moduł socket
9.15.21. Moduł struct
9.15.22. Moduł subprocess
9.15.23. Moduł tempfile
9.15.24. Moduł textwrap
9.15.25. Moduł threading
9.15.26. Moduł time
9.15.27. Pakiet urllib
9.15.28. Moduł unicodedata
9.15.29. Pakiet xml
9.16. Podsumowanie
Rozdział 10. Funkcje wbudowane i biblioteka standardowa
10.1. Funkcje wbudowane
10.2. Wyjątki wbudowane
10.2.1. Klasy bazowe wyjątków
10.2.2. Atrybuty wyjątków
10.2.3. Predefiniowane klasy wyjątków
10.3. Biblioteka standardowa
10.3.1. Moduł collections
10.3.2. Moduł datetime
10.3.3. Moduł itertools
10.3.4. Moduł inspect
10.3.5. Moduł math
10.3.6. Moduł os
10.3.7. Moduł random
10.3.8. Moduł re
10.3.9. Moduł shutil
10.3.10. Moduł statistics
10.3.11. Moduł sys
10.3.12. Moduł time
10.3.13. Moduł turtle
10.3.14. Moduł unittest
10.4. Podsumowanie: korzystaj z wbudowanych elementów