.. meta:: :description: Python advanced: language internals :keywords: schulung, training, raspberry, programming, python, object oriented, oo, class, exception, closure, decorator, starargs, args, positional, kwargs, keyword arguments, starstarargs, iterator, for loop, iterator protocol, operator, operator overloading, exec Python: More Language Features ============================== .. contents:: :local: .. image:: /_images/python-logo-master-v3-TM.png :alt: Python logo :align: right :scale: 50% .. sidebar:: .. list-table:: :align: left * * **Duration** * 2-3 days * * **Language** * Trainer language is English or German * * **Material** * * :doc:`/trainings/material/soup/python/advanced/group` * :doc:`Complete Python material ` * * **Related** * * :doc:`basics` * :doc:`swdev` * :doc:`misc` * * **Booking** * :doc:`/trainings/booking` Course Outline -------------- What is missing from :doc:`basics` is what makes Python a language that is ... * *interesting* * *powerful* * *beautiful* To meet this goal, this course covers some advanced language features which you won't be able to do without once you got used to them. Here is an outline of the course; see the :doc:`course material ` for more detailed information. * Object orientation: inheritance, interfaces, or only ducks? * Exceptions * Comprehension expressions: how to cram all in one line and still be readable * The ``with`` statement: context managers * Towards decorators: ``*args``, ``**kwargs``, and closures * Generators/``yield``: ``for`` is (much) more * ``eval`` and ``exec`` * Multithreading Prerequisites ------------- Attendees should have an understanding of basic python, as if they went through the course :doc:`basics`.