Home >>> Courses >>> Special Topics >>> Patterns

What customers say ...


Good course. Very fast progress without any prior Python knowledge.
Daniel Fuchs, GIGATRONIK Ingolstadt GmbH, about the German version of the course "Python for Programmers" more ...


Very nice course, got many useful suggestions.
Dr.-Ing. Ralf Wieland, Institut für Landschaftssystemanalyse, Leibniz-Zentrum für Agrarlandschaftsforschung e.V. about the German version of the course "Python for Scientists and Engineers" more ...


Mike is an outstanding teacher ... I will look for his classes in the future.
Jannifer Trasti, Software/Systems Engineer, Sandia National Laboratories, Albuquerque, NM, USA more ...


The Python Summer Course was a very good opportunity to know almost all about Python. ... Highly recommended!!
Fabio Lamanna, Ph.D. Complex Transportation Networks, Trieste, Italy more ...


We had a wide range of Python experience in our group and each person gained something valuable to take away....
Dr. Ryan Woodard, Chair of Entrepreneurial Risks, ETH Zurich, Switzerland more ...


I can absolutely recommend this course to everybody who wants become productive with Python very quickly. ...
Dr. med. Beat Meister, Bern, Switzerland more ...


The standard Python for programmers and the customized "Python for Experts" course where a great success. ...
Bart Hillaert, Alcatel-Lucent Belgium more ...


[The trainer] knows well what scientists need, so his hints are very practical and valuable. The hands-on course [..] covers a wide range of examples and will be very helpful in my daily work. ...
Dorota Jarecka, University of Warsaw about the course "Python for Scientists and Engineers" more ...


The course "Python for Scientists and Engineers" is a very useful introduction to Python programming for scientific applications ...
Dr Mihai Duta, Oxford Supercomputing Centre more ...


Very good introduction to the programming language.
Matthias Enderle, freelancer programmer more ...


The Python Academy is sponsor of PyCon US 2012.

[PyCon US 2012]

Module - Design Patterns in Python

Motivation

Frequently, tasks can be solved following some pattern. Design patterns can be used to group tasks and their solutions. Often problems can be solved with existing patterns. Furthermore, patterns offer a common language for developers with well defined terms to communicate about complex tasks.

Course Content

Special Features of Design Patterns in Python

In Python many problems can be solved more easily than in other languages. Therefore, several design patterns are not necessary or they are already implicitly contained in the languages.

The Principles of writing pythonic programs are explained and supported with examples. Topics such as beauty of source code, explicit programming, simplicity, readability, and exception handling are included.

"It's easier to ask for forgiveness than permission (EFAP)"

One pythonic principle is "It's easier to ask for forgiveness than permission (EFAP)". Opposed to the approach to look before you leap, this principle states that you should first try an action and if it fails react appropriately. Python' strong exception handling supports this principle and helps to develop robust and fault tolerant programs.

Meta Classes

Meta classes are an advanced topic of Python programming. Applying meta calsses Complex tasks may be be solved in an elegant manner. The use of meta classes is demonstrated with examples.

Singelton

Singeltons are objects of which only one instance is supposed to exist. Python provides several ways to implement singeltons. These possibilities are shown using examples.

Null Objects

Null objects can be used instead of the type None to avoid tests for None. Implementation, usage as well as advantages and disadvantages are covered.

Proxy

Proxies stand for other objects. Setup and usage of proxies are covered.

Observer

The observer pattern allows several objects to have access to the same data. The principles of this pattern are shown with a comprehensive example.

Constructor

Parameters of constructors are often assigned to instance variables. This pattern can replace a many lines of manual assignment with only one line of code.

Module Duration

0.5 days

Exercises

The participants can follow all steps directly on their computers. There are exercises at the end of each unit providing ample opportunity to apply the freshly learned knowledge.

Course Material

Every participant receives comprehensive printed materials that cover the whole course content as wells as a CD with all source codes and used software.

News


Python Academy founder receives PSF Community Service Award
details ...


Course: "Python for Programmers" (English) in Leipzig February 6 - 8, 2012
details ...


Course: "SQLAlchemy" (English) in Leipzig February 9, 2012
details ...


Course: "Camelot" (English) in Leipzig February 10, 2012
details ...


Next Meeting of Leipzig Python User Group, February 14, 2012
details ...


Course: "Python for Scientists and Engineers" (English) in Chicago (USA) February 28 - March 2, 2012
details ...


Tutorial: "Faster Python Programs through Optimization" (English) in Santa Clara (USA) March 7 at PyCon US 2012
details ...


Tutorial: "Plotting with matplotlib" (English) in Santa Clara (USA) March 8 at PyCon US 2012
details ...


Presentation: "Python and HDF5 - Fast Storage for Large Data" (Englisch) in Santa Clara (USA) March 10 at PyCon US 2012
details ...


Course: "Python für Programmierer" (German) in Leipzig April 16 - 18, 2012
details ...


Course: "Python für Wissenschaftler und Ingenieure" (German) in Leipzig April 19 - 21, 2012
details ...


Course: "Einstieg in Django" (German) in Leipzig April 23 - 25, 2012
details ...


Course: "Django für Fortgeschrittene" (German) in Leipzig April 26 - 27, 2012
details ...