Facebook - konwersja

Programowanie zorientowane obiektowo w Pythonie. Tworzenie solidnych i łatwych w utrzymaniu aplikacji i bibliotek. Wydanie IV - ebook

Wydawnictwo:
Tłumacz:
Data wydania:
18 kwietnia 2023
Format ebooka:
MOBI
Format MOBI
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najczęściej wybieranych formatów wśród czytelników e-booków. Możesz go odczytać na czytniku Kindle oraz na smartfonach i tabletach po zainstalowaniu specjalnej aplikacji. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, EPUB
Format EPUB
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najpopularniejszych formatów e-booków na świecie. Niezwykle wygodny i przyjazny czytelnikom - w przeciwieństwie do formatu PDF umożliwia skalowanie czcionki, dzięki czemu możliwe jest dopasowanie jej wielkości do kroju i rozmiarów ekranu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
(2w1)
Multiformat
E-booki sprzedawane w księgarni Virtualo.pl dostępne są w opcji multiformatu - kupujesz treść, nie format. Po dodaniu e-booka do koszyka i dokonaniu płatności, e-book pojawi się na Twoim koncie w Mojej Bibliotece we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu przy okładce. Uwaga: audiobooki nie są objęte opcją multiformatu.
czytaj
na tablecie
Aby odczytywać e-booki na swoim tablecie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. Bluefire dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na czytniku
Czytanie na e-czytniku z ekranem e-ink jest bardzo wygodne i nie męczy wzroku. Pliki przystosowane do odczytywania na czytnikach to przede wszystkim EPUB (ten format możesz odczytać m.in. na czytnikach PocketBook) i MOBI (ten fromat możesz odczytać m.in. na czytnikach Kindle).
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na smartfonie
Aby odczytywać e-booki na swoim smartfonie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. iBooks dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
149,00

Programowanie zorientowane obiektowo w Pythonie. Tworzenie solidnych i łatwych w utrzymaniu aplikacji i bibliotek. Wydanie IV - ebook

Python zasłużenie cieszy się ogromną popularnością. To język, który może służyć do wielu celów, szczególnie do szybkiego tworzenia niewielkich, wyspecjalizowanych programów. Projektowanie bardziej rozbudowanego, wyrafinowanego oprogramowania też jest możliwe, wymaga jednak zdobycia kilku ważnych umiejętności. Bardzo dobrym pomysłem okazuje się zastosowanie w programowaniu w Pythonie podejścia zorientowanego obiektowo. Tak tworzony kod jest czytelny, solidny, łatwy w rozbudowie i o wiele efektywniejszy w działaniu.

Oto przyjazny przewodnik dla programistów Pythona, wyczerpująco wyjaśniający wiele zagadnień programowania obiektowego, takich jak dziedziczenie, kompozycja, polimorfizm, tworzenie klas i struktur danych. W książce szczegółowo omówiono zagadnienia obsługi wyjątków, testowania kodu i zastosowania technik programowania funkcyjnego. Opisano też dwa potężne zautomatyzowane systemy testowe: unittest i pytest. Zaprezentowano tematykę utrzymania złożonego oprogramowania napisanego w sposób zorientowany obiektowo, a także podano wskazówki odnoszące się do jego rozbudowy. Ważną częścią przewodnika jest omówienie zasad programowania współbieżnego we współczesnym Pythonie. Co ważne, poszczególne zagadnienia zostały zilustrowane diagramami UML, czytelnymi przykładami i studiami przypadków.

W książce między innymi:

  • kiedy korzystać z technik obiektowych
  • implementacja obiektów i mechanizmu dziedziczenia w Pythonie
  • stosowanie wyjątków, a także tworzenie testów jednostkowych i integracyjnych
  • ważniejsze wzorce projektowe i ich implementacja w Pythonie
  • statyczne typowanie dynamicznego kodu
  • programowanie współbieżne przy użyciu asyncio

Chcesz tworzyć solidny kod? Zorientuj się na obiekty!

Spis treści

O autorach

O recenzencie

Wstęp

Rozdział 1. Projektowanie obiektowe

  • Wprowadzenie do obiektowości
  • Obiekty i klasy
  • Określanie atrybutów i zachowań
    • Dane opisują stan obiektu
    • Zachowania są akcjami
  • Ukrywanie szczegółów i tworzenie interfejsów publicznych
  • Kompozycja
  • Dziedziczenie
    • Dziedziczenie zapewnia abstrakcję
    • Wielokrotne dziedziczenie
  • Studium przypadku
    • Wprowadzenie i omówienie problemu
    • Widok kontekstu
    • Widok logiczny
    • Widok procesu
    • Widok programistyczny
    • Widok fizyczny
    • Wnioski
  • Przypomnij sobie
  • Ćwiczenia
  • Podsumowanie

Rozdział 2. Obiekty w Pythonie

  • Prezentacja podpowiedzi typów
    • Sprawdzanie typów
  • Tworzenie klas w Pythonie
    • Dodawanie atrybutów
    • Zapewnianie możliwości działania
    • Inicjalizacja obiektów
    • Podpowiedzi typów i wartości domyślne
    • Podawanie wyjaśnień w napisach dokumentujących
  • Moduły i pakiety
    • Organizowanie modułów
    • Organizowanie kodu w moduły
  • Kto ma dostęp do moich danych?
  • Biblioteki innych twórców
  • Studium przypadku
    • Widok logiczny
    • Próbki i ich stan
    • Zmiany stanu próbek
    • Odpowiedzialności klasy
    • Klasa TrainingData
  • Przypomnij sobie
  • Ćwiczenia
  • Podsumowanie

Rozdział 3. Kiedy obiekty są do siebie podobne

  • Proste dziedziczenie
    • Rozszerzanie typów wbudowanych
    • Przesłanianie i super
  • Wielokrotne dziedziczenie
    • Problematyczny diament
    • Różne zestawy argumentów
  • Polimorfizm
  • Studium przypadku
    • Widok logiczny
    • Jeszcze jedna odległość
  • Przypomnij sobie
  • Ćwiczenia
  • Podsumowanie

Rozdział 4. Oczekując nieoczekiwanego

  • Zgłaszanie wyjątków
    • Zgłaszanie wyjątku
    • Efekty wyjątków
    • Obsługa wyjątków
    • Hierarchia wyjątków
    • Definiowanie własnych wyjątków
    • Wyjątki nie są wyjątkowe
  • Studium przypadku
    • Widok kontekstu
    • Widok przetwarzania
    • Co może pójść źle?
    • Nieprawidłowe zachowanie
    • Tworzenie próbek na podstawie danych z plików CSV
    • Walidacja wartości wyliczeniowych
    • Odczyt plików CSV
    • Nie powtarzaj się
  • Przypomnij sobie
  • Ćwiczenia
  • Podsumowanie

Rozdział 5. Kiedy korzystać z programowania obiektowego

  • Traktujmy obiekty jako obiekty
  • Dodawanie zachowań do klas danych przy wykorzystaniu właściwości
    • Wszystko o właściwościach
    • Dekoratory - inny sposób tworzenia właściwości
    • Określanie, kiedy należy używać właściwości
  • Obiekty menedżerów
    • Usuwanie powtórzeń
    • W praktyce
  • Studium przypadku
    • Walidacja danych wejściowych
    • Dzielenie próbek wejściowych
    • Hierarchia klas próbek
    • Wyliczenie purpose
    • Właściwości ustawiające
    • Powtarzające się instrukcje if
  • Przypomnij sobie
  • Ćwiczenia
  • Podsumowanie

Rozdział 6. Abstrakcyjne klasy bazowe i przeciążanie operatorów

  • Tworzenie abstrakcyjnej klasy bazowej
    • Abstrakcyjne klasy bazowe kolekcji
    • Abstrakcyjne klasy bazowe i podpowiedzi typów
    • Moduł collections.abc
    • Tworzenie własnych abstrakcyjnych klas bazowych
    • Wyjaśniamy magię
  • Przeciążanie operatorów
  • Rozszerzanie klas wbudowanych
  • Metaklasy
  • Studium przypadku
    • Rozszerzanie klasy listy w celu utworzenia dwóch podlist
    • Podział poprzez tasowanie
    • Dzielenie próbek metodą inkrementalną
  • Przypomnij sobie
  • Ćwiczenia
  • Podsumowanie

Rozdział 7. Struktury danych w Pythonie

  • Puste obiekty
  • Kroki i krotki nazwane
    • Krotki nazwane i typing.NamedTuple
  • Klasy danych
  • Słowniki
    • Przypadki stosowania słowników
    • Stosowanie defaultdict
  • Listy
    • Sortowanie list
  • Zbiory
  • Trzy typy kolejek
  • Studium przypadku
    • Model logiczny
    • Niezmienne klasy danych
    • Klasy NamedTuple
    • Wniosek
  • Przypomnij sobie
  • Ćwiczenia
  • Podsumowanie

Rozdział 8. Łączenie programowania obiektowego i funkcyjnego

  • Wbudowane funkcje Pythona
    • Funkcja len()
    • Funkcja reversed()
    • Funkcja enumerate()
  • Alternatywa dla przeciążania metod
    • Domyślne wartości parametrów
    • Zmienne listy argumentów
    • Rozpakowywanie argumentów
  • Funkcje są także obiektami
    • Obiekty funkcji i funkcje zwrotne
    • Stosowanie funkcji do modyfikowania klas
    • Obiekty wywoływalne
  • Plikowe operacje wejścia-wyjścia
    • Działanie w kontekście
  • Studium przypadku
    • Ogólna postać sposobu przetwarzania
    • Rozdzielanie danych
    • Ponowne przemyślenie problemu klasyfikacji
    • Funkcja partition()
    • Podział danych w jednym przejściu
  • Przypomnij sobie
  • Ćwiczenia
  • Podsumowanie

Rozdział 9. Łańcuchy, serializacja i ścieżki do plików

  • Łańcuchy znaków
    • Operacje na łańcuchach znaków
    • Formatowanie łańcuchów znaków
    • Łańcuchy znaków są zapisywane w Unicode
  • Wyrażenia regularne
    • Dopasowywanie wzorców
    • Parsowanie informacji przy użyciu wyrażeń regularnych
  • Ścieżki dostępu do plików
  • Serializacja obiektów
    • Dostosowywanie działania modułu pickle
    • Serializacja danych w formacie JSON
  • Studium przypadku
    • Konstrukcja formatu CSV
    • Wczytywanie danych CSV w formie słowników
    • Wczytywanie danych CSV w formie listy
    • Serializacja danych JSON
    • Format JSON z danymi rozdzielanymi znakami nowego wiersza
    • Walidacja danych JSON
  • Przypomnij sobie
  • Ćwiczenia
  • Podsumowanie

Rozdział 10. Wzorzec Iterator

  • Krótko o wzorcach projektowych
  • Iteratory
    • Protokół iteratorów
  • Listy składane
    • Wyrażenia list składanych
    • Wyrażenia zbiorów i słowników składanych
    • Wyrażenia generatorów
  • Funkcje generatorów
    • Zwracanie elementów z innego iteratora
    • Stosy generatorów
  • Studium przypadku
    • Zarys konstruowania zbiorów
    • Wiele podziałów
    • Testowanie
    • Niezbędny algorytm k-NN
    • Algorytm k-NN korzystający z modułu bisect
    • Algorytm k-NN korzystający z modułu heapq
    • Wniosek
  • Przypomnij sobie
  • Ćwiczenia
  • Podsumowanie

Rozdział 11. Często stosowane wzorce projektowe

  • Wzorzec Dekorator
    • Przykład wzorca Dekorator
    • Dekoratory w Pythonie
  • Wzorzec Obserwator
    • Przykład wzorca Obserwator
  • Wzorzec Strategia
    • Przykład wzorca Strategia
    • Wzorzec Strategia w Pythonie
  • Wzorzec Polecenie
    • Przykład wzorca Polecenie
  • Wzorzec Stan
    • Przykład wzorca Stan
    • Stan a Strategia
  • Wzorzec Singleton
    • Implementacja wzorca Singleton
  • Studium przypadku
  • Przypomnij sobie
  • Ćwiczenia
  • Podsumowanie

Rozdział 12. Zaawansowane wzorce projektowe

  • Wzorzec Adapter
    • Przykład wzorca Adapter
  • Wzorzec Fasada
    • Przykład wzorca Fasada
  • Wzorzec Piórko
    • Przykład implementacji wzorca Piórko w Pythonie
    • Przechowywanie w buforze wielu komunikatów
    • Optymalizacja pamięci przy użyciu atrybutu __slots__
  • Wzorzec Fabryka abstrakcyjna
    • Przykład wzorca Fabryka abstrakcyjna
    • Fabryki abstrakcyjne w Pythonie
  • Wzorzec Kompozyt
    • Przykład wzorca Kompozyt
  • Wzorzec Metoda szablonowa
    • Przykład wzorca Metoda szablonowa
  • Studium przypadku
  • Przypomnij sobie
  • Ćwiczenia
  • Podsumowanie

Rozdział 13. Testowanie oprogramowania obiektowego

  • Po co testować?
    • Programowanie na podstawie testów
    • Cele testowania
    • Wzorce testowania
  • Testowanie przy użyciu frameworka unittest
  • Wykonywanie testów jednostkowych przy użyciu pakietu pytest
    • Funkcje setup i teardown pakietu pytest
    • Przygotowania i porządki przy użyciu konfiguracji początkowych
    • Bardziej wyszukane konfiguracje początkowe
    • Pomijanie testów narzędzia pytest
  • Imitowanie obiektów przy użyciu atrap
    • Dodatkowe techniki korygowania
    • Obiekt sentinel
  • Ile testów wystarczy?
  • Testowanie a programowanie
  • Studium przypadku
    • Testy jednostkowe klas obliczających odległości
    • Testy jednostkowe klasy Hyperparameter
  • Przypomnij sobie
  • Ćwiczenia
  • Podsumowanie

Rozdział 14. Współbieżność

  • Podstawowe informacje o przetwarzaniu współbieżnym
  • Wątki
    • Wiele problemów związanych z wątkami
  • Wieloprocesowość
    • Pule procesów
    • Kolejki
    • Problemy związane z wieloprocesowością
  • Moduł concurrent.futures
  • Moduł AsyncIO
    • AsyncIO w działaniu
    • Czytanie kodu AsyncIO
    • AsyncIO w rozwiązaniach sieciowych
    • Prezentacja aplikacji zapisującej wpisy w dzienniku
    • Klienty AsyncIO
  • Rozwiązanie problemu ucztujących filozofów
  • Studium przypadku
  • Przypomnij sobie
  • Ćwiczenia
  • Podsumowanie

Skorowidz

Kategoria: Programowanie
Zabezpieczenie: Watermark
Watermark
Watermarkowanie polega na znakowaniu plików wewnątrz treści, dzięki czemu możliwe jest rozpoznanie unikatowej licencji transakcyjnej Użytkownika. E-książki zabezpieczone watermarkiem można odczytywać na wszystkich urządzeniach odtwarzających wybrany format (czytniki, tablety, smartfony). Nie ma również ograniczeń liczby licencji oraz istnieje możliwość swobodnego przenoszenia plików między urządzeniami. Pliki z watermarkiem są kompatybilne z popularnymi programami do odczytywania ebooków, jak np. Calibre oraz aplikacjami na urządzenia mobilne na takie platformy jak iOS oraz Android.
ISBN: 978-83-283-8950-2
Rozmiar pliku: 7,8 MB

BESTSELLERY

Kategorie: