Highlights
- Advanced Data Manipulation
- Advanced Object Oriented Programming
- Metaprogramming
- Design Tradeoffs
- Customisation Features
- Python under the hood….
Topics on advanced courses may vary (or be omitted) from the above depending on the instructor delivering the course and depending on best practice, audience experience and preferences.
Course Details
Python Review
An accelerated review of the Python language focused on features that you should already know. Covers the basic language statements, program structure, common datatypes, functions, exceptions, modules, and classes.s
Idiomatic Data Handling
An in-depth look at data handling and data structures. A major focus of this section is on Python's built-in container types (tuples, lists, sets, dicts, etc.) with an eye towards studying their performance properties and resource use. Also covers important programming data-processing idioms such as the use of list comprehensions and generator expressions.
Classes and Objects
A review of the class statement and how to define new objects in Python. A major focus is on how to properly encapsulate data, and when to use features such as static methods, class methods, and properties. Concludes with a review of some common object-oriented programming techniques and advanced topics including mixin classes and weak references.
Inside Python Objects
A look at how the Python object system is put together under the covers. Major topics include instance and class representation, attribute binding, inheritance, attribute access methods, and the descriptor protocol.
Testing, Logging, and Debugging
Learn how to test and debug your code. Covers the doctest, unittest, and logging modules. Information on assertions, optimized run mode, the debugger, and profiler is also presented.
Working with Code
A detailed look at more advanced aspects of Python functions. Topics include variable argument functions, anonymous functions (lambda), scoping rules, nested functions, function introspection, closures, delayed-evaluation, and partial function application.s
Metaprogramming
Finally understand the secret techniques used by the Python framework builders. This section covers features that allow you to manipulate code. Topics include decorators, class decorators, context managers, and metaclasses.
Iterators, Generators, and Coroutines
Covers the iteration protocol, generator functions, and coroutines. A major focus of this section is on applying generators and coroutines to problems in data processing. You will learn how to apply these features to large data files and data streams.
Modules and Packages
This section covers details related to using modules and packages to organize larger programs. A major focus is understanding the underlying behavior of the import statement and some of the more tricky issues related to organizing packages.
Who should attend
This course is aimed at Python programmers who want to move beyond the realm of small scripts into the land of libraries, frameworks, and large applications. If you've used various frameworks and wondered about their magic, this course will peel back the layers and explain the mysteries. You'll walk away with a new awareness for what's possible in your own programs.
This course assumes a working knowledge of Python programming. You should already know know to write and debug programs and be generally familiar with core language features such as functions, classes, and modules. Some prior background with object-oriented programming is also advised.
Feedback
4.8 out of 5 average
"I liked the course because it was well structured and developed my understanding of Python, specifically Object Orientation and libraries with C++. The trainer was detailed in his explanations and engaging."
MM, Risk Manager, Python Advanced, January 2021
Watch live client feedback from Python Training course: