Programowanie zorientowane obiektowo...w.4 Żywiec

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 …

od 95,79 Najbliżej: 18 km

Liczba ofert: 3

Oferta sklepu

Opis

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

Specyfikacja

Podstawowe informacje

Autor
  • Steven F Lott|Dusty Phillips
Wybrane wydawnictwa
  • Helion
Okładka
  • Broszura
Rok wydania
  • 2023
Ilość stron
  • 664
Tematyka
  • Programowanie
ISBN
  • 9788328389496