Exciting News! Systematix is rebranding to Future Savvy. Same great services, with a fresh new look. Learn More

Python Programming Advanced

4 Day Instructor-led
course icon

Course Information

Take your Python skills further with our Advanced Python course. Delve into object-oriented programming with classes and inheritance, explore Python's object model and metaprogramming. Master design patterns including iterator, decorator, and factory patterns. Sharpen your testing with Python's unit test library and learn test-driven development. Enhance your debugging skills, manage exceptions, and write maintainable code with best practices in coding standards, documentation, and reproducible environments. Learn code re-use through packaging, and optimise for performance with threading and asynchronous programming. Finally, understand functional programming within Python's capabilities.

Course Outline

1. 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
2. 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
3. Automated Testing
  • Python's unit test library, pytest
  • Test coverage, mocking
  • Test driven development (TDD)
  • Testing with date and time
4. Logging, Debugging and Exceptions
  • • Simple to advanced logging, logging handlers, configuration
  • Debugging tools and tips
  • Raising and handling exceptions
5. Maintainable Code
  • Coding standards, type hints, refactoring and linting
  • Documentation
  • Reproducible coding environments
6. Code Re-use
  • Importing, standard library, Python Package Index (PyPI)
  • Packaging your code, submitting a package to PyPI
7. Optimising
  • 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
8. Functional Programming and Python
  • Pros, cons and alternatives
  • Map, filter, reduce, lambda
  • Other FP-related Python functions

Dates & Prices

Attend one of our public Python courses:

Small Class Sizes

Maximum of 6 students per course.

Reference Manual

High quality reference manual supporting the topics covered.

Post Course Support

Unlimited post course email support on the course topics.

Delivery Options:
Choose a location...
4 Day Course
Tue, 27 May 2025 to Fri, 30 May 2025
£2245
Tue, 25 Nov 2025 to Fri, 28 Nov 2025
£2245

Private Courses

We can arrange your own private Python course.

Tailored

Have us build a custom private course tailored to your needs.

Cost Effective

If you are looking to training a group of people private courses can be very cost effective.

Post Course Support

Unlimited post course email support on the course topics.

What Our Clients Think

I took so much away from this course and felt Stuart's teaching method was exceptional.

Rowanne Kiehl - SSE

Really enjoyed this course. It delivered exactly what I wanted out it.

Malkit Singh - Regatta Ltd

The trainer was an amazing lecturer and the vba course was very usefull and well structured. Thank you.

Veronika Panton - Haven Power

The trainer did a fantastic job of delivering the course and providing understanding

Niall Simmons - Haven Power

Very good, trainer was excellent.

Mike Hartley-Bingle - XPS Pensions Group

Very good course. I've been using the software constantly in the last three months and still learnt a lot.

George Martin - NHS North of England

Related Courses

Next on Wed 19 Feb
Format:
Virtual or Classroom
Length:
3 Days
  • Intro to foundational Python concepts.
  • Operators, controls, and data handling.
  • Data storage techniques.
  • Code structuring and OOP.
  • Practical applications: files and databases.
  • Dive into Python's ecosystem and libraries.
Next on Tue 27 May
Format:
Virtual or Classroom
Length:
4 Days

    • Explore Python's advanced object-oriented programming.
    • Master design patterns and automated testing.
    • Enhance debugging and maintainable coding practices.
    • Optimise code for performance and reusability.