Python: Master the Art of Design Patterns

- Autorzy:
- Chetan Giridhar, Sakis Kasampalis, Dusty Phillips


- Ocena:
- Bądź pierwszym, który oceni tę książkę
- Stron:
- 775
- Dostępne formaty:
-
PDFePub
Opis książki: Python: Master the Art of Design Patterns
Python is an object-oriented scripting language that is used in everything from data science to web development. Known for its simplicity, Python increases productivity and minimizes development time. Through applying essential software engineering design patterns to Python, Python code becomes even more efficient and reusable from project to project.
This learning path takes you through every traditional and advanced design pattern best applied to Python code, building your skills in writing exceptional Python. Divided into three distinct modules, you'll go from foundational to advanced concepts by following a series of practical tutorials.
Start with the bedrock of Python programming - the object-oriented paradigm. Rethink the way you work with Python as you work through the Python data structures and object-oriented techniques essential to modern Python programming. Build your confidence as you learn Python syntax, and how to use OOP principles with Python tools such as Django and Kivy.
In the second module, run through the most common and most useful design patterns from a Python perspective. Progress through Singleton patterns, Factory patterns, Façade patterns and more all with detailed hands-on guidance. Enhance your professional abilities in in software architecture, design, and development.
In the final module, run through the more complex and less common design patterns, discovering how to apply them to Python coding with the help of real-world examples. Get to grips with the best practices of writing Python, as well as creating systems architecture and troubleshooting issues.
This Learning Path combines some of the best that Packt has to offer in one complete, curated package. It includes content from the following Packt products:
? Python 3 Object-Oriented Programming - Second Edition by Dusty Phillips
? Learning Python Design Patterns - Second Edition by Chetan Giridhar
? Mastering Python Design Patterns by Sakis Kasampalis
Wybrane bestsellery
-
To drugie, zaktualizowane i poprawione wydanie bestsellerowego podręcznika Programowania w Pythonie pozwoli Ci błyskawicznie zacząć tworzyć kod, który działa! Zaczniesz od zrozumienia podstawowych koncepcji programistycznych, następnie nauczysz się zapewniać programom interaktywność i wykształcis...(0,00 zł najniższa cena z 30 dni)
64.35 zł
99.00 zł(-35%) -
Metody statystyczne są kluczowym elementem data science, mimo to niewielu specjalistów data science posiada formalne wykształcenie statystyczne. Kursy i podręczniki o podstawach statystyki, rzadko kiedy omawiają temat z perspektywy data science. W drugim wydaniu tego popularnego podręcznika zosta...
Statystyka praktyczna w data science. 50 kluczowych zagadnień w językach R i Python. Wydanie II Statystyka praktyczna w data science. 50 kluczowych zagadnień w językach R i Python. Wydanie II
(0,00 zł najniższa cena z 30 dni)44.85 zł
69.00 zł(-35%) -
To kompleksowy podręcznik do nauki programowania w Pythonie. Jego piąte wydanie zostało gruntownie zaktualizowane i rozbudowane o dodatkowe treści. Omówiono tu najnowsze wersje Pythona w liniach 3.X i 2.X, czyli 3.3 i 2.7, i dodano opisy nowych lub rozszerzonych mechanizmów, takich jak obsługa fo...(0,00 zł najniższa cena z 30 dni)
129.35 zł
199.00 zł(-35%) -
Mało kto lubi matematykę, zwłaszcza algebrę czy analizę matematyczną. Wydaje się trudna i niezrozumiała. Bardzo łatwo popełnić błędy podczas rozwiązywania równań różniczkowych czy całek. Jeśli jednak powierzysz najtrudniejszą i najżmudniejszą część obliczeń komputerowi, szybko się przekonasz, że ...
Matematyka w Pythonie. Algebra, statystyka, analiza matematyczna i inne dziedziny Matematyka w Pythonie. Algebra, statystyka, analiza matematyczna i inne dziedziny
(0,00 zł najniższa cena z 30 dni)44.85 zł
69.00 zł(-35%) -
Oto praktyczny przewodnik po wersji 3.0 systemu Spark, metodach statystycznych i rzeczywistych zbiorach danych. Omówiono w nim zasady rozwiązywania problemów analitycznych za pomocą interfejsu PySpark, z wykorzystaniem dobrych praktyk programowania w systemie Spark. Po lekturze można bezproblemow...
Zaawansowana analiza danych w PySpark. Metody przetwarzania informacji na szeroką skalę z wykorzystaniem Pythona i systemu Spark Zaawansowana analiza danych w PySpark. Metody przetwarzania informacji na szeroką skalę z wykorzystaniem Pythona i systemu Spark
Akash Tandon, Sandy Ryza, Uri Laserson, Sean Owen, Josh Wills
(0,00 zł najniższa cena z 30 dni)48.30 zł
69.00 zł(-30%) -
Ta książka jest kompleksowym wprowadzeniem do matematyki dyskretnej, przydatnym dla każdego, kto chce pogłębić i ugruntować swoje umiejętności informatyczne. W zrozumiały sposób przedstawiono tu metody matematyki dyskretnej i ich zastosowanie w algorytmach i analizie danych, włączając w to techni...
Matematyka dyskretna dla praktyków. Algorytmy i uczenie maszynowe w Pythonie Matematyka dyskretna dla praktyków. Algorytmy i uczenie maszynowe w Pythonie
(0,00 zł najniższa cena z 30 dni)44.85 zł
69.00 zł(-35%) -
Ta książka jest przeznaczona dla osób, które nie umieją programować, ale chciałyby zapoznać się z kryptografią. Omówiono tu podstawowe koncepcje programowania w Pythonie, który dziś jest uważany za najlepszy język dla początkujących koderów. Pokazano, jak tworzyć, testować i łamać programy implem...
Złam ten kod z Pythonem. Jak tworzyć, testować i łamać szyfry Złam ten kod z Pythonem. Jak tworzyć, testować i łamać szyfry
(0,00 zł najniższa cena z 30 dni)26.90 zł
89.00 zł(-70%) -
To drugie wydanie bestsellerowego przewodnika po technikach uczenia maszynowego. Wystarczą minimalne umiejętności programistyczne, aby dzięki tej książce nauczyć się budowania i trenowania głębokiej sieci neuronowej. Zawarto tu minimum teorii, a proces nauki jest ułatwiony przez liczne przykłady ...
Uczenie maszynowe z użyciem Scikit-Learn i TensorFlow. Wydanie II Uczenie maszynowe z użyciem Scikit-Learn i TensorFlow. Wydanie II
(0,00 zł najniższa cena z 30 dni)83.85 zł
129.00 zł(-35%) -
Ta książka jest zwięzłym, skupionym na praktyce przewodnikiem po Pythonie w wersji 3.6 i nowszych. Dzięki niej skoncentrujesz się na rdzeniu języka i podstawowych zagadnieniach, które musisz doskonale opanować, jeśli chcesz pisać w nim dobry kod. Dowiesz się zatem, jak działa Python i jakich zasa...(0,00 zł najniższa cena z 30 dni)
44.85 zł
69.00 zł(-35%) -
W tym przewodniku opisano zagadnienia związane z podstawami nauki o danych. Wyjaśniono niezbędne elementy matematyki i statystyki. Przedstawiono także techniki budowy potrzebnych narzędzi i sposoby działania najistotniejszych algorytmów. Książka została skonstruowana tak, aby poszczególne impleme...
Data science od podstaw. Analiza danych w Pythonie. Wydanie II Data science od podstaw. Analiza danych w Pythonie. Wydanie II
(0,00 zł najniższa cena z 30 dni)47.40 zł
79.00 zł(-40%)
O autorze książki
1 Chetan Giridhar, Sakis Kasampalis, Dusty PhillipsDusty Phillips jest kanadyjskim programistą i autorem książek o programowaniu. Pracował dla rządów, startupów i sieci społecznościowych. Obecnie zajmuje się pisaniem powieści fantastycznych.
Chetan Giridhar, Sakis Kasampalis, Dusty Phillips - pozostałe książki
-
A comprehensive guide to exploring modern Python through data structures, design patterns, and effective object-oriented techniquesKey FeaturesBuild an intuitive understanding of object-oriented design, from introductory to mature programsLearn the ins and outs of Python syntax, libraries, and be...
-
A comprehensive guide to exploring modern Python through data structures, design patterns, and effective object-oriented techniques
Python Object-Oriented Programming - Fourth Edition Python Object-Oriented Programming - Fourth Edition
-
Create distributed applications with clever design patterns to solve complex problems Key Features Set up and run distributed algorithms on a cluster using Dask and PySpark Master skills to accurately implement concurrency in your code Gain practical experience of Python design patterns with re...
-
Harness the power of Python objects and data structures to implement algorithms for analyzing your data and efficiently extracting information
-
Uncover modern Python with this guide to Python data structures, design patterns, and effective object-oriented techniques
Python 3 Object-Oriented Programming - Third Edition Python 3 Object-Oriented Programming - Third Edition
-
Exploit various design patterns to master the art of solving problems using Python
-
If you feel it,Äôs time you learned object-oriented programming techniques, this is the perfect book for you. Clearly written with practical exercises, it,Äôs the painless way to learn how to harness the power of OOP in Python.
Ebooka przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Boox i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolonych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video zobaczysz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolonych urządzeniach i aplikacjach obsługujących format MP4 (pliki spakowane w ZIP)
Szczegóły książki
- Tytuł oryginału:
- Python: Master the Art of Design Patterns
- ISBN Ebooka:
- 978-17-871-2340-3, 9781787123403
- Data wydania ebooka:
-
2016-09-30
Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@helion.pl.
- Język publikacji:
- angielski
- Rozmiar pliku Pdf:
- 5.9MB
- Rozmiar pliku ePub:
- 6.5MB
- Kategorie:
Programowanie » Python - Programowanie
Spis treści książki
- Python: Master the Art of Design Patterns
- Table of Contents
- Python: Master the Art of Design Patterns
- Python: Master the Art of Design Patterns
- Credits
- Preface
- What this learning path covers
- What you need for this learning path
- Who this learning path is for
- Reader feedback
- Customer support
- Downloading the example code
- Errata
- Piracy
- Questions
- 1. Module 1
- 1. Object-oriented Design
- Introducing object-oriented
- Objects and classes
- Specifying attributes and behaviors
- Data describes objects
- Behaviors are actions
- Hiding details and creating the public interface
- Composition
- Inheritance
- Inheritance provides abstraction
- Multiple inheritance
- 1. Object-oriented Design
- Case study
- Exercises
- Summary
- 2. Objects in Python
- Creating Python classes
- Adding attributes
- Making it do something
- Talking to yourself
- More arguments
- Initializing the object
- Explaining yourself
- Creating Python classes
- Modules and packages
- Organizing the modules
- Absolute imports
- Relative imports
- Organizing the modules
- Organizing module contents
- Who can access my data?
- Third-party libraries
- Case study
- Exercises
- Summary
- 3. When Objects Are Alike
- Basic inheritance
- Extending built-ins
- Overriding and super
- Basic inheritance
- Multiple inheritance
- The diamond problem
- Different sets of arguments
- Polymorphism
- Abstract base classes
- Using an abstract base class
- Creating an abstract base class
- Demystifying the magic
- Case study
- Exercises
- Summary
- 4. Expecting the Unexpected
- Raising exceptions
- Raising an exception
- The effects of an exception
- Handling exceptions
- The exception hierarchy
- Defining our own exceptions
- Raising exceptions
- Case study
- Exercises
- Summary
- 5. When to Use Object-oriented Programming
- Treat objects as objects
- Adding behavior to class data with properties
- Properties in detail
- Decorators another way to create properties
- Deciding when to use properties
- Manager objects
- Removing duplicate code
- In practice
- Case study
- Exercises
- Summary
- 6. Python Data Structures
- Empty objects
- Tuples and named tuples
- Named tuples
- Dictionaries
- Dictionary use cases
- Using defaultdict
- Counter
- Lists
- Sorting lists
- Sets
- Extending built-ins
- Queues
- FIFO queues
- LIFO queues
- Priority queues
- Case study
- Exercises
- Summary
- 7. Python Object-oriented Shortcuts
- Python built-in functions
- The len() function
- Reversed
- Enumerate
- File I/O
- Placing it in context
- Python built-in functions
- An alternative to method overloading
- Default arguments
- Variable argument lists
- Unpacking arguments
- Functions are objects too
- Using functions as attributes
- Callable objects
- Case study
- Exercises
- Summary
- 8. Strings and Serialization
- Strings
- String manipulation
- String formatting
- Escaping braces
- Keyword arguments
- Container lookups
- Object lookups
- Making it look right
- Strings are Unicode
- Converting bytes to text
- Converting text to bytes
- Strings
- Mutable byte strings
- Regular expressions
- Matching patterns
- Matching a selection of characters
- Escaping characters
- Matching multiple characters
- Grouping patterns together
- Matching patterns
- Getting information from regular expressions
- Making repeated regular expressions efficient
- Serializing objects
- Customizing pickles
- Serializing web objects
- Case study
- Exercises
- Summary
- 9. The Iterator Pattern
- Design patterns in brief
- Iterators
- The iterator protocol
- Comprehensions
- List comprehensions
- Set and dictionary comprehensions
- Generator expressions
- Generators
- Yield items from another iterable
- Coroutines
- Back to log parsing
- Closing coroutines and throwing exceptions
- The relationship between coroutines, generators, and functions
- Case study
- Exercises
- Summary
- 10. Python Design Patterns I
- The decorator pattern
- A decorator example
- Decorators in Python
- The decorator pattern
- The observer pattern
- An observer example
- The strategy pattern
- A strategy example
- Strategy in Python
- The state pattern
- A state example
- State versus strategy
- State transition as coroutines
- The singleton pattern
- Singleton implementation
- The template pattern
- A template example
- Exercises
- Summary
- 11. Python Design Patterns II
- The adapter pattern
- The facade pattern
- The flyweight pattern
- The command pattern
- The abstract factory pattern
- The composite pattern
- Exercises
- Summary
- 12. Testing Object-oriented Programs
- Why test?
- Test-driven development
- Why test?
- Unit testing
- Assertion methods
- Reducing boilerplate and cleaning up
- Organizing and running tests
- Ignoring broken tests
- Testing with py.test
- One way to do setup and cleanup
- A completely different way to set up variables
- Skipping tests with py.test
- Imitating expensive objects
- How much testing is enough?
- Case study
- Implementing it
- Exercises
- Summary
- 13. Concurrency
- Threads
- The many problems with threads
- Shared memory
- The global interpreter lock
- The many problems with threads
- Thread overhead
- Threads
- Multiprocessing
- Multiprocessing pools
- Queues
- The problems with multiprocessing
- Futures
- AsyncIO
- AsyncIO in action
- Reading an AsyncIO future
- AsyncIO for networking
- Using executors to wrap blocking code
- Streams
- Executors
- Case study
- Exercises
- Summary
- 2. Module 2
- 1. Introduction to Design Patterns
- Understanding object-oriented programming
- Objects
- Classes
- Methods
- Understanding object-oriented programming
- Major aspects of object-oriented programming
- Encapsulation
- Polymorphism
- Inheritance
- Abstraction
- Composition
- 1. Introduction to Design Patterns
- Object-oriented design principles
- The open/close principle
- The inversion of control principle
- The interface segregation principle
- The single responsibility principle
- The substitution principle
- The concept of design patterns
- Advantages of design patterns
- Taxonomy of design patterns
- Context the applicability of design patterns
- Patterns for dynamic languages
- Classifying patterns
- Creational patterns:
- Structural patterns
- Behavioral patterns
- Summary
- 2. The Singleton Design Pattern
- Understanding the Singleton design pattern
- Implementing a classical Singleton in Python
- Understanding the Singleton design pattern
- Lazy instantiation in the Singleton pattern
- Module-level Singletons
- The Monostate Singleton pattern
- Singletons and metaclasses
- A real-world scenario the Singleton pattern, part 1
- A real-world scenario the Singleton pattern, part 2
- Drawbacks of the Singleton pattern
- Summary
- 3. The Factory Pattern Building Factories to Create Objects
- Understanding the Factory pattern
- The Simple Factory pattern
- The Factory Method pattern
- Implementing the Factory Method
- Advantages of the Factory method pattern
- The Abstract Factory pattern
- Implementing the Abstract Factory pattern
- The Factory method versus Abstract Factory method
- Summary
- 4. The Façade Pattern Being Adaptive with Façade
- Understanding Structural design patterns
- Understanding the Façade design pattern
- A UML class diagram
- Façade
- System
- Client
- Implementing the Façade pattern in the real world
- The principle of least knowledge
- Frequently asked questions
- Summary
- 5. The Proxy Pattern Controlling Object Access
- Understanding the Proxy design pattern
- A UML class diagram for the Proxy pattern
- Understanding different types of Proxies
- A virtual proxy
- A remote proxy
- A protective proxy
- A smart proxy
- The Proxy pattern in the real world
- Advantages of the Proxy pattern
- Comparing the Façade and Proxy patterns
- Frequently asked questions
- Summary
- 6. The Observer Pattern Keeping Objects in the Know
- Introducing Behavioral patterns
- Understanding the Observer design pattern
- A UML class diagram for the Observer pattern
- The Observer pattern in the real world
- The Observer pattern methods
- The pull model
- The push model
- Loose coupling and the Observer pattern
- The Observer pattern advantages and disadvantages
- Frequently asked questions
- Summary
- 7. The Command Pattern Encapsulating Invocation
- Introducing the Command pattern
- Understanding the Command design pattern
- A UML class diagram for the Command pattern
- Implementing the Command pattern in the real world
- Design considerations
- Advantages and disadvantages of Command patterns
- Frequently asked questions
- Summary
- 8. The Template Method Pattern Encapsulating Algorithm
- Defining the Template Method pattern
- Understanding the Template Method design pattern
- A UML class diagram for the Template Method pattern
- Defining the Template Method pattern
- The Template Method pattern in the real world
- The Template Method pattern hooks
- The Hollywood principle and the Template Method
- The advantages and disadvantages of the Template Method pattern
- Frequently asked questions
- Summary
- 9. Model-View-Controller Compound Patterns
- An introduction to Compound patterns
- The Model-View-Controller pattern
- Model knowledge of the application
- View the appearance
- Controller the glue
- A UML class diagram for the MVC design pattern
- The MVC pattern in the real world
- Modules
- Benefits of the MVC pattern
- Frequently asked questions
- Summary
- 10. The State Design Pattern
- Defining the State design pattern
- Understanding the State design pattern
- Understanding the State design pattern with a UML diagram
- Defining the State design pattern
- A simple example of the State design pattern
- The State design pattern with v3.5 implementation
- Advantages/disadvantages of the State pattern
- Summary
- 11. AntiPatterns
- An introduction to AntiPatterns
- Software development AntiPatterns
- Spaghetti code
- Golden Hammer
- Lava Flow
- Copy-and-paste or cut-and-paste programming
- Software architecture AntiPatterns
- Reinventing the wheel
- Vendor lock-in
- Design by committee
- Summary
- 3. Module 3
- 1. The Factory Pattern
- Factory Method
- A real-life example
- A software example
- Use cases
- Implementation
- Factory Method
- Abstract Factory
- A real-life example
- A software example
- Use cases
- Implementation
- 1. The Factory Pattern
- Summary
- 2. The Builder Pattern
- A real-life example
- A software example
- Use cases
- Implementation
- Summary
- 3. The Prototype Pattern
- A real-life example
- A software example
- Use cases
- Implementation
- Summary
- 4. The Adapter Pattern
- A real-life example
- A software example
- Use cases
- Implementation
- Summary
- 5. The Decorator Pattern
- A real-life example
- A software example
- Use cases
- Implementation
- Summary
- 6. The Facade Pattern
- A real-life example
- A software example
- Use cases
- Implementation
- Summary
- 7. The Flyweight Pattern
- A real-life example
- A software example
- Use cases
- Implementation
- Summary
- 8. The Model-View-Controller Pattern
- A real-life example
- A software example
- Use cases
- Implementation
- Summary
- 9. The Proxy Pattern
- A real-life example
- A software example
- Use cases
- Implementation
- Summary
- 10. The Chain of Responsibility Pattern
- A real-life example
- A software example
- Use cases
- Implementation
- Summary
- 11. The Command Pattern
- A real-life example
- A software example
- Use cases
- Implementation
- Summary
- 12. The Interpreter Pattern
- A real-life example
- A software example
- Use cases
- Implementation
- Summary
- 13. The Observer Pattern
- A real-life example
- A software example
- Use cases
- Implementation
- Summary
- 14. The State Pattern
- A real-life example
- A software example
- Use cases
- Implementation
- Summary
- 15. The Strategy Pattern
- A real-life example
- A software example
- Use cases
- Implementation
- Summary
- 16. The Template Pattern
- A real-life example
- A software example
- Use cases
- Implementation
- Summary
- A. Bibliography
- Index
Packt Publishing - inne książki
-
Save time and effort when building 3D scenes with this essential guide to creating stunning photorealistic 3D environments in Blender
-
Leverage algorithms to solve real world problems ranging from sorting and searching to modern algorithms in machine learning and cryptography
50 Algorithms Every Programmer Should Know - Second Edition 50 Algorithms Every Programmer Should Know - Second Edition
-
Use modern Python libraries such as pandas, NumPy, and scikit-learn and popular machine learning and deep learning methods to solve financial modeling problems
-
Design, build, and deploy performant and maintainable web applications using Spring, Spring Boot, and Angular
-
Get up to speed with Oracle's Autonomous Databases and implementation strategies for any workload or use case, including transactional, data warehousing, and non-relational databases
Oracle Autonomous Database in Enterprise Architecture Oracle Autonomous Database in Enterprise Architecture
-
Build CD pipelines following GitOps principles like declarative and immutable changes stored in version control, all continuously reconciled by Argo CD, and minimize the failure of deployments.
Dzieki opcji "Druk na żądanie" do sprzedaży wracają tytuły Grupy Helion, które cieszyły sie dużym zainteresowaniem, a których nakład został wyprzedany.
Dla naszych Czytelników wydrukowaliśmy dodatkową pulę egzemplarzy w technice druku cyfrowego.
Co powinieneś wiedzieć o usłudze "Druk na żądanie":
- usługa obejmuje tylko widoczną poniżej listę tytułów, którą na bieżąco aktualizujemy;
- cena książki może być wyższa od początkowej ceny detalicznej, co jest spowodowane kosztami druku cyfrowego (wyższymi niż koszty tradycyjnego druku offsetowego). Obowiązująca cena jest zawsze podawana na stronie WWW książki;
- zawartość książki wraz z dodatkami (płyta CD, DVD) odpowiada jej pierwotnemu wydaniu i jest w pełni komplementarna;
- usługa nie obejmuje książek w kolorze.
W przypadku usługi "Druk na żądanie" termin dostarczenia przesyłki może obejmować także czas potrzebny na dodruk (do 10 dni roboczych)
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka, którą chcesz zamówić pochodzi z końcówki nakładu. Oznacza to, że mogą się pojawić drobne defekty (otarcia, rysy, zagięcia).
Co powinieneś wiedzieć o usłudze "Końcówka nakładu":
- usługa obejmuje tylko książki oznaczone tagiem "Końcówka nakładu";
- wady o których mowa powyżej nie podlegają reklamacji;
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.


Oceny i opinie klientów: Python: Master the Art of Design Patterns Chetan Giridhar, Sakis Kasampalis, Dusty Phillips (0)
Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.