About the course
The aim of our instructor-led Advanced Python training course is to expand and develop your knowledge of the Python language and the environment in which it executes.
You will gain hands-on experience guided by an expert Python practitioner, through engaging exercises and discussion of advanced techniques.
The course includes thorough coverage of OOP, Design Patterns, Automated Testing and more.
Online and in-house face-to-face options are available - as part of a wider customised training programme, or as a standalone workshop, on-site at your offices or at one of many flexible meeting spaces in the UK and around the World.
-
- OOP with Python
- Python Design Patterns
- Automated Testing
- Optimising Python Code
-
Python Developers who wish to delve more deeply into Python and to expand their understanding of some of the more advanced language facilities and techniques.
-
You should have attended our introductory Python training course or have similar coding experience with Python.
-
This advanced Python course is available for private / custom delivery for your team - as an in-house face-to-face workshop at your location of choice, or as online instructor-led training via MS Teams (or your own preferred platform).
Get in touch to find out how we can deliver tailored training which focuses on your project requirements and learning goals.
-
Object oriented programming
Classes, instances, constructors, attributes and methods
Python's object model, special methods and protocols
Properties, slots, abstract classes
Inheritance and composition, polymorphism
Meta programming
Python Design Patterns
Iterator design pattern, iter() and next(), generators, generator expressions, generator functions, classes as iterators
Decorator design pattern, functions as first class objects, monkey patching, enclosures, variadic function parameters, decorator factories, decorating a class
Proxy pattern, lazy loading
Factory pattern
Template pattern
Observer pattern
Automated Testing with Python
Python's unit test library, pytest
Test coverage, mocking
Test driven development (TDD)
Testing with date and time
Logging, debugging and exceptions
Simple to advanced logging, logging handlers, configuration
Debugging tools and tips
Raising and handling exceptions
Maintainable code
Coding standards, type hints, refactoring and linting
Documentation
Reproducible coding environments
Code re-use
Importing, standard library, Python Package Index (PyPI)
Packaging your code, submitting a package to PyPI
Optimising Python Code
Optimising steps
Timing and profiling
Optimising for CPU usage and for memory usage
Threads versus processes
Multi threading and multi processing
Producer-consumer pattern
Thread and process pools
Asynchronous programming
Optional topics / time permitting
Functional Programming in Python
-
https://www.python.org/ - Get Python!
https://www.jetbrains.com/pycharm/ - Popular Python IDE
https://code.visualstudio.com/ - another popular code editor (you'll need to install the Python extension too)
https://github.com/vinta/awesome-python - fantastic list of Python resources
Trusted by



