Shantanu N. Zagade
Preface
Python is an object-oriented, scripting language that is used in wide range of categories. In software engineering, a design pattern is a recommended solution to a software design problem. Although not new, design patterns remain one of the hottest topics in software engineering. Python 3 is more versatile and easier to use than ever. It runs on all major platforms in a huge array of use cases. Coding in Python minimizes development time and increases productivity in comparison to other languages. Clean, maintainable code is easy to both read and write using Pythons clear, concise syntax.
If you love designing and want to learn everything about it but have no idea where to begin, then this course is built just for you. This learning path is divided into three modules which will take you in this incredible journey of design patterns.
What this learning path covers
, Python 3 Object-oriented Programming - Second Edition , This module is loosely divided into four major parts. In the first four chapters, we will dive into the formal principles of object-oriented programming and how Python leverages them. In chapters 5 through 8, we will cover some of Pythons idiosyncratic applications of these principles by learning how they are applied to a variety of Pythons built-in functions. Chapters 9 through 11 cover design patterns, and the final two chapters discuss two bonus topics related to Python programming that may be of interest.
, Learning Python Design Patterns - Second Edition , Building on the success of the previous edition, Learning Python Design Patterns, Second Edition will help you implement real-world scenarios with Pythons latest release, Python v3.5. We start by introducing design patterns from the Python perspective. As you progress through the module, you will learn about Singleton patterns, Factory patterns, and Faade patterns in detail. After this, well look at how to control object access with proxy patterns. It also covers observer patterns, command patterns, and compound patterns. By the end of the module, you will have enhanced your professional abilities in software architecture, design, and development.
, Mastering Python Design Patterns , This module focuses on design patterns in Python. Python is different than most common programming languages used in popular design patterns books (usually Java [FFBS04] or C++ [GOF95]). It supports duck-typing, functions are first-class citizens, and some patterns (for instance, iterator and decorator) are built-in features. The intent of this module is to demonstrate the most fundamental design patterns, not all patterns that have been documented so far [j.mp/wikidpc
]. The code examples focus on using idiomatic Python when applicable [j.mp/idiompyt
]. If you are not familiar with the Zen of Python, it is a good idea to open the Python REPL right now and execute import this . The Zen of Python is both amusing and meaningful.
What you need for this learning path
All the examples in this course rely on the Python 3 interpreter. Make sure you are not using Python 2.7 or earlier. At the time of writing, Python 3.4 was the latest release of Python. Most examples will work on earlier revisions of Python 3, but you are encouraged to use the latest version to minimize frustration.
All of the examples should run on any operating system supported by Python. If this is not the case, please report it as a bug.
Some of the examples need a working Internet connection. Youll probably want to have one of these for extracurricular research and debugging anyway!
In addition, some of the examples in this course rely on third-party libraries that do not ship with Python. These are introduced within the course at the time they are used, so you do not need to install them in advance. However, for completeness, here is a list:
- pip
- requests
- pillow
- bitarray
Who this learning path is for
Python developers and software architects who care about software design principles and details of application development aspects in Python. Programmers of other languages who are interested in Python can also benefit from this course.
Reader feedback
Feedback from our readers is always welcome. Let us know what you think about this coursewhat you liked or disliked. Reader feedback is important for us as it helps us develop titles that you will really get the most out of.
To send us general feedback, simply e-mail <>
, and mention the courses title in the subject of your message.
If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, see our author guide at www.packtpub.com/authors.
Customer support
Now that you are the proud owner of a Packt course, we have a number of things to help you to get the most from your purchase.
Downloading the example code
You can download the example code files for this course from your account at http://www.packtpub.com. If you purchased this course elsewhere, you can visit http://www.packtpub.com/support and register to have the files e-mailed directly to you.
You can download the code files by following these steps:
- Log in or register to our website using your e-mail address and password.