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 & Availability

We currently don’t have any dates scheduled for this training course but offer it as a corporate, private course for your own team.

Please use the enquire button below.

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

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

Niall Simmons - Haven Power

The trainer was an excellent tutor. He did check all of the group was able to keep up and if there were any problems or questions of the attendants, he was always willing to help.

Marianne Seager - Wincanton

This course was great, the trainer was very knowledgeable and has improved my knowledge considerably. The facilities are fantastic. Thank You!

Kurtis Fleming - HM Revenue & Customs

The trainer was very through and very helpful. The course was delivered superbly and I'm very pleased.

David O'Hara - Multibrands UK

This has been by far one of the most useful and well planned/executed training courses I have ever attended. For this to have been achieved remotely just adds to how impressive it was managed.

Trevor Stratton - Lincolnshire County Council

This course was excellent and I am delighted with how much I have achieved. The trainer was very friendly and approachable.

Rosie Heath - Licensed Trade Charity

Related Courses

Next on Wed 19 Jun
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.
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.