What customers say ...
Course curriculum and delivery absolutely goal-oriented very understandable. Highly recommended!!!
Ralf Dörksen, Sangross about the course "Introduction to Django" more...
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 competent trainer. Highly recommended training.
Raout Femmali, German Aerospace Stuttgart about the course "Python für Programmierer und Python für Wissenschaftler und Ingenieure" more...
I can absolutely recommend this course to everybody who wants to become productive with Python very quickly. ...
Dr. med. Beat Meister, Bern, Switzerland more...
Good course. Very competent trainer for this introduction. The course offers wide spectrum of topics and goes into depth were participants need it most.
Helmut Dittrich, CEO DiFis-Engineering UG, arrow-fix.com, about the German introduction to Django "Einstieg in Django" more...
Advanced Python
Dates for Open Courses
Location | Date | Course | Language |
---|---|---|---|
Remote | January 24 - 26, 2022 | Advanced Python | English register |
Leipzig | January 24 - 26, 2022 | Advanced Python | English register |
Course also available as in-house training. Please ask us at info@python-academy.de
Target Audience
This course targets medium level Python programmers who would like to dive deeper into the language. Alternatively, participants can attend the course Python for Programmers to be able to take full advantage of this advanced course.
Motivation
The Python programming language is relatively easy to learn and allows to solve real-world problem with a just a few concepts.
But it also offers several advanced features that can help to greatly improve the programming experience. Python offers interesting features that can be used passively without deeper understanding about how they work. The course teaches how these features work and provides details about meta-programming and other advanced techniques.
Content
Comprehensions
The principle comes from the functional language Haskell but integrates very well into Python. After list comprehension came generator expressions followed by dictionary and set comprehensions.
The course introduces this style of programming with examples focusing on advantages and disadvantages for certain tasks.
Iterators and Generators
Iterators and generator make lazy evaluation, that is generating an object just when it is needed, very convenient. The concept of yielding instead of returning plays a central role. The course shows how to use generators to simplify programming tasks. Furthermore, coroutines will be used to implement concurrent solutions. An overview over the itertools module shows how to elegantly solve iteration tasks.
Decorators
Decorator provide a very useful method to add functionality to existing functions and classes. The course uses examples for caching, proxying, and checking of arguments to demonstrate how decorators can improve code readability and can simplify solutions.
Context Managers
The with statement helps to make code more robust by simplifying exception handling. The course shows how to use the with statement with the standard library and how to write your own objects that take advantage of with. The contextlib from the standard library helps to make this easier.
Descriptors
Descriptors determine how attribute of object are accessed. The course uses examples to show how descriptors work and how they can be used to customize attribute access.
Metaclasses
Metaclasses offer a powerful way to change how classes in Python behave. Whíle being an advanced feature that should be used sparingly, it can provide interesting help for complex problems. The course shows how to apply metaclasses and gives examples where they can be useful.
Conventions
Python offers a lot of functionality out of the box where other languages need to use design patterns. These patterns are general solutions for certain types of problems.
Python offers what is called the "pythonic" way for solving a problem. The course presents of a few of these solutions:
- wrapping instead of inheritance
- dependency injections
- factories
- duck typing
- monkey patching
- callbacks
Good Style
Python is often described as an elegant language. Consistency is contributing to this. There are several recommendations and tools that help to check for them. The course has a closer look at the Python style guide (PEP8) and uses PyLint and pep8.py with examples. The participants are encouraged to bring their source code for style analysis.
Course Duration
3 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 all source codes and used software.
Recommended Module Combinations
You should have intermediate Python experience or attend the course Python for Programmers before. You might be interested in the modules Optimizing of Python Programs or Python Extensions with Other Languages as well.
![[Follow @pyacademy]](../../images/pyacademy-facebook.png)
![[PSF Fundraiser]](../../images/psf_fundraiser_side.png)
The Python Academy is sponsor of PyCon US 2020.
![[PyCon US 2020]](../../images/pycon2020.png)
The Python Academy is sponsor of PythonCamp Köln 2020.
![[PythonCamp 2020]](../../images/logo_barcamp_col.png)
The Python Academy is sponsor of PyCamp Leipzig 2020.
![[PyCamp 2020]](../../images/pycamp_leipzig_2020.png)
The Python Academy is sponsor of PyCon.DE 2019.
![[PyCon.DE 2019]](../../images/pycon_de_2019.png)
The Python Academy is sponsor of PyCon LT 2019.
![[PyCon LT 2019]](../../images/pycon_lt_2019.png)
The Python Academy is sponsor of PyCon US 2019.
![[PyCon US 2019]](../../images/pycon2019.png)
The Python Academy is sponsor of PythonCamp Köln 2019.
![[PythonCamp 2019]](../../images/logo_barcamp_col.png)
The Python Academy is sponsor of PythonCon Nambia 2019.
![[PythonCon Nambia 2019]](../../images/pycon_nambia_2019.png)
The Python Academy is sponsor of PyConIE 2018.
![[PyConIE 2018]](../../images/pycon_ie_2018.png)
The Python Academy is sponsor of PyCon.DE 2018.
![[PyCon.DE 2018]](../../images/pycon_de_2018.png)
The Python Academy is sponsor of PyCon Spain 2018.
![[PyCon ES 2018]](../../images/pycon_es_2018.png)
The Python Academy is sponsor of PyCon Ghana 2018.
![[PyCon GH 2018]](../../images/pycon_gh_2018.png)
The Python Academy is sponsor of EuroPython 2018.
![[EuroPython 2018]](../../images/europython_2018.png)
The Python Academy is sponsor of DjangCon Europe 2018.
![[DjangCon Europe 2018]](../../images/djangocon_europe_2018.png)
The Python Academy is sponsor of PyCon US 2018.
![[PyCon US 2018]](../../images/pycon2018.png)
The Python Academy is sponsor of PythonCamp Köln 2018.
![[PythonCamp 2018]](../../images/logo_barcamp_col.png)
The Python Academy is sponsor of PyConIE 2017.
![[PyConIE 2017]](../../images/pyconie2017.png)
The Python Academy is sponsor of EuroPython 2017.
![[EuroPython 2017]](../../images/ep2017.png)
The Python Academy is sponsor of PyCon US 2017.
![[PyCon US 2017]](../../images/pycon2017.png)
The Python Academy is sponsor of PythonCamp Köln 2017.
![[PythonCamp 2017]](../../images/logo_barcamp_col.png)
The Python Academy is sponsor of Django Girls Leipzig 2016
![[Django Girls Leipzig 2016]](../../images/django_girls_leipzig.png)
The Python Academy is sponsor of PyCon DE 2016.
![[PyCon DE 2016]](../../images/pyconde2016.png)
The Python Academy is sponsor of PyCon Ireland 2016.
![[PyCon IE 2016]](../../images/pyconie2016.png)
The Python Academy is sponsor of EuroSciPy 2016.
![[EuroSciPy 2016]](../../images/eurosciy2016.png)
The Python Academy is sponsor of PyCon US 2016.
![[PyCon US 2016]](../../images/pycon2016.png)
The Python Academy is sponsor of PyData Berlin 2016.
![[PyData Berlin 2016]](../../images/pydataberlin2016.png)
The Python Academy is sponsor of PyCon Sweden 2016.
![[PyCon SE 2016]](../../images/pyconse.png)
The Python Academy is sponsor of Python Unconference 2015.
![[PyUnconf 2015]](../../images/pyunconf.png)
The Python Academy is sponsor of EuroSciPy 2015.
![[EuroSciPy 2015]](../../images/euroscipy2015.png)
The Python Academy is sponsor of EuroPython 2015.
![[EuroPython 2015]](../../images/ep2015.png)
The Python Academy is sponsor of PyData Berlin 2015.
![[PyData Berlin 2015]](../../images/pydataberlin2015.png)
The Python Academy is sponsor of PyCon Montréal 2015.
![[PyCon Montréal 2015]](../../images/pycon2015.png)
The Python Academy is sponsor of Python BarCamp Köln 2015.
![[Python BarCamp 2015]https://www.euroscipy.org/2016/](../../images/logo_barcamp_col.png)
The Python Academy is sponsor of Chemnitzer Linux-Tage 2015.

The Python Academy is sponsor of Django Girls Wroclaw 2015.
![[Django Girls Wroclaw 2015]](../../images/django_girls_wroclaw.png)
The Python Academy is sponsor of PyCon Ireland 2014.
![[PyCon Ireland 2014]](../../images/pycon_ie_2014.png)
The Python Academy is sponsor of EuroSciPy 2014.
![[EuroSciPy 2014]](../../images/euroscipy_2014.png)
The Python Academy is sponsor of PyData London 2014.
![[PyData London 2014]](../../images/pydatalogo.png)
The Python Academy is sponsor of EuroPython 2014.
![[EuroPython 2014]](../../images/ep14.png)
The Python Academy is sponsor of PyCon 2014 Montréal.
![]() |
The Python Academy is sponsor of Python BarCamp Köln 2014.
![[Python BarCamp 2014]](../../images/logo_barcamp_col.png)
The Python Academy is sponsor of PyConDE 2013.
![[PyCon DE 2013]](../../images/pyconde_2013.png)
The Python Academy is sponsor of EuroPython 2013.
![[EuroPython 2013]](../../images/ep_2013_logo.png)
The Python Academy is sponsor of PyCon US 2013.
![[PyCon US 2013]](../../images/logo_pycon_us_2013.png)
The Python Academy is sponsor of EuroSciPy 2013.
![[EuroSciPy 2013]](../../images/euroscipy.png)
The Python Academy is sponsor of PyConPL 2012.
![[PyCon PL 2012]](../../images/pycon_pl_2012_logo.png)