Szczegóły ebooka

Elementy inżynierii oprogramowania w Pythonie

Elementy inżynierii oprogramowania w Pythonie

Jakub Walczak

Ebook

Zdobądź ostrogi programisty w Pythonie!

Python jest językiem, którego powszechnie używa się w wielu obszarach: od programowania gier, przez aplikacje webowe, po systemy analizy danych. Nic więc dziwnego, że cieszy się ogromną popularnością i jest dodatkowo wspierany przez liczną społeczność programistów, projektantów i sympatyków, którzy go rozwijają i rozszerzają.

Do grona osób aktywnie korzystających z tego języka z pewnością należy Jakub Walczak, który w książce poświęconej Pythonowi i inżynierii oprogramowania wprowadza do jego ekosystemu. Dzięki jej lekturze czytelnicy poznają ideę środowisk wirtualnych, sposoby interakcji z interpreterem czy zasady podziału projektu na moduły i pakiety. Adepci sztuki programowania znajdą tu wprowadzenie do mechanizmów pakietu pytest, który zdecydowanie ułatwia pisanie i wykonywanie testów jednostkowych. Opanują również takie zagadnienia jak klasy i obiekty, a także zaawansowane aspekty programowania obiektowego, w tym metaklasy, dziedziczenie i emulowanie szczególnych zachowań obiektów

Autor zadbał o klarowną strukturę podręcznika, który składa się z dwunastu uporządkowanych rozdziałów. Zawarta w nich treść została uzupełniona dodatkowymi wyjaśnieniami, wskazówkami i podsumowaniami, co ułatwia przyswojenie omawianego materiału.

  • Organizacja środowiska pracy
  • Organizacja projektu
  • Wstęp do programowania zorientowanego obiektowo
  • Deskryptory
  • Dziedziczenie
  • Mechanizm obsługi wyjątków
  • Metody specjalne klas
  • Dekoratory
  • Serializacja i deserializacja
  • Testy jednostkowe z użyciem biblioteki pytest
  • Wytyczne dotyczące stylu

Python od A do Z!

Przedmowa

Wstęp

1. Python - krótka charakterystyka

2. Organizacja środowiska pracy

  • 2.1. Instalacja Pythona
  • 2.2. Przygotowanie środowiska wirtualnego
  • 2.3. Środowiska pracy w ekosystemie Pythona
    • 2.3.1. Powłoka Pythona
    • 2.3.2. Edytor tekstu
    • 2.3.3. Interaktywny Python
    • 2.3.4. Zintegrowane środowisko deweloperskie

3. Organizacja projektu

  • 3.1. Moduły, pakiety i przestrzenie nazw
    • 3.1.1. Moduły
    • 3.1.2. Pakiety
    • 3.1.3. Przestrzenie nazw
  • 3.2. Importowanie modułów
    • 3.2.1. Importowanie pośrednie
    • 3.2.2. Importowanie bezpośrednie
    • 3.2.3. Importowanie z użyciem symbolu wieloznacznego
    • 3.2.4. Importowanie z wykorzystaniem aliasu
  • 3.3. Budowanie i publikowanie pakietu
    • 3.3.1. Plik textpyproject.toml
    • 3.3.2. Określanie plików składowych biblioteki
    • 3.3.3. Dynamiczne określanie metadanych projektu
    • 3.3.4. Załączanie plików zasobów
    • 3.3.5. Publikowanie projektu
  • 3.4. Jawne typowanie zmiennych i funkcji

4. Wstęp do programowania zorientowanego obiektowo

  • 4.1. Pojęcie klasy i obiektu
  • 4.2. Paradygmat programowania obiektowego
  • 4.3. Definiowanie klas i tworzenie obiektów
  • 4.4. Destrukcja i finalizowanie obiektu
  • 4.5. Pola i metody niepubliczne
  • 4.6. Atrybuty i metody klasowe
  • 4.7. Metody statyczne

5. Dekoratory

  • 5.1. Funkcje zagnieżdżone i zmienne nielokalne
  • 5.2. Domknięcie funkcji
  • 5.3. Dekoratory nieparametryczne
  • 5.4. Dekoratory parametryczne
  • 5.5. Atrybuty specjalne funkcji dekorowanych

6. Deskryptory

  • 6.1. Protokół deskryptora
  • 6.2. Przekazywanie nazwy atrybutu do deskryptora
  • 6.3. Rodzaje deskryptorów
  • 6.4. Deskryptor własności

7. Dziedziczenie

  • 7.1. Dziedziczenie wielorakie
  • 7.2. Kolejność dostępu
  • 7.3. Przeszukiwanie grafu dziedziczenia
  • 7.4. Metaklasy
  • 7.5. Klasy szczególne
    • 7.5.1. Klasa abstrakcyjna
    • 7.5.2. Klasa wyliczająca

8. Mechanizm obsługi wyjątków

  • 8.1. Podział wyjątków
  • 8.2. Wzbudzanie wyjątku
  • 8.3. Obsługa wyjątków

9. Metody specjalne klas

  • 9.1. Reprezentacja tekstowa obiektu
  • 9.2. Metody porównywania
  • 9.3. Wartość skrótu obiektu
  • 9.4. Metody specjalne kolekcji
    • 9.4.1. Abstrakcyjne metody dla kolekcji sekwencyjnych
    • 9.4.2. Abstrakcyjne metody dla kolekcji o charakterze zbiorów
    • 9.4.3. Abstrakcyjne metody dla kolekcji mapujących
    • 9.4.4. Emulowanie zachowania iteratora
  • 9.5. Metody operatorów arytmetycznych
  • 9.6. Sprawdzanie wartości logicznej obiektu
  • 9.7. Emulowanie zachowania funkcyjnego obiektu
  • 9.8. Metody menedżera kontekstu

10. Serializacja i deserializacja

  • 10.1. Prosty format tekstowy
  • 10.2. Formaty słownikowe
  • 10.3. Piklowanie obiektów
  • 10.4. Inne mechanizmy serializacji

11. Testy jednostkowe z użyciem biblioteki pytest

  • 11.1. Funkcje testujące. Asercje
  • 11.2. Parametryzacja testów
  • 11.3. Obiekty trwałe w testach
  • 11.4. Anotacja testów
    • 11.4.1. Oznaczanie testów do pominięcia
    • 11.4.2. Anotacja warunkowego pominięcia testów
    • 11.4.3. Oznaczanie testów celowo niezaliczonych
    • 11.4.4. Własne markery testów

12. Wytyczne dotyczące stylu

  • 12.1. Zalecenia ogólne
  • 12.2. Zalecenia dotyczące nazewnictwa
  • 12.3. Zalecenia dotyczące struktury kodu
  • 12.4. Zalecenia dotyczące importowania
  • 12.5. Zalecenia dotyczące logiki
  • 12.6. Zalecenia dotyczące testów jednostkowych
  • 12.7. Zalecenia dotyczące formatowania kodu

Bibliografia

Skorowidz

  • Tytuł: Elementy inżynierii oprogramowania w Pythonie
  • Autor: Jakub Walczak
  • ISBN: 978-83-289-0100-1, 9788328901001
  • Data wydania: 2023-04-11
  • Format: Ebook
  • Identyfikator pozycji: iopyth
  • Wydawca: Helion