Python Programming Advanced course

In this advanced Python course you learn, as a developer, to master the advanced features of the language: classes, decorators, generators, modules and concurrency.

4,6 on Google NRTO quality mark
For a team or department? Arrange your own group, at your premises or ours. In-company for your team
  • Delve into advanced Python features
  • Work with classes, decorators and generators
  • Learn to apply multithreading and multiprocessing
  • Classroom-based in a small group with an experienced trainer
  • Directly applicable in your own projects

You know the basics of Python and want to take things further. In this follow-up course you learn to work with the Python data model, object-oriented programming at a higher level, decorators, generators and concurrency. This allows you to write code that is more professional, faster and easier to maintain.

Description

Python is a versatile and powerful programming language used for scripting, web development, data science, machine learning and automation. Anyone who wants to go beyond the basics soon discovers a rich world of advanced features that make your code more compact, faster and more elegant.

In this follow-up course you go deeper into the Python data model with its dunder methods, into classes and inheritance, and into writing reusable components. You work with decorators, iterators, generators, context managers and type hinting. You also learn how to use standard modules such as os, sys, datetime, itertools and re effectively.

The final parts cover concurrency: multithreading and multiprocessing. You finish with an introduction to graphical programming in Python. By the end of the course you will be writing Python code at a professional level.

Topics

  • The Python data model and dunder methods
  • Higher order functions, decorators and lambda expressions
  • Classes, attributes, slots and properties
  • Class inheritance and sub-classes
  • Class attributes and static attributes
  • Data classes and abstract classes
  • Enumerations and type hinting
  • Iterators and iterables
  • Generators and context managers
  • Standard modules: os, sys, datetime, itertools
  • Regular expressions with re
  • Multithreading and multiprocessing
  • Graphical programming with Python

Result

After this course you work confidently with advanced Python features. You write object-oriented code with classes, inheritance, properties and data classes. You apply decorators, generators and context managers, use regular expressions and standard modules effectively, and know when to use multithreading or multiprocessing. Your code is more readable, more reusable and more professional.

Target audience

This follow-up course is intended for developers who can already program in Python and want to deepen their knowledge. Think of software developers, data analysts, scripters and automation specialists who want to work with Python in a more professional and advanced way.

Teaching method

You take the course in a classroom setting in a small group under the guidance of an experienced trainer. Theory and practical assignments alternate continuously, so that you apply what you have learned straight away. You work on your own laptop or on a practice laptop provided by Learnit. Afterwards you receive a Learnit certificate of participation.

Prior knowledge

You have experience with the basics of Python programming, comparable to the Learnit Python Programming course. You work comfortably with variables, functions, lists, dictionaries and simple scripts.

Comments

On completion of the course, a Learnit certificate is issued as proof of attendance.

Practical information

Number of days
3 days
Course times
from 10 am to 5 pm
Teaching hours
18 hours
Education level
Suitable for all levels
Preparation time
None
Included
Course materials and lunch on site
Certificate
At the end of the course you will receive a certificate of attendance

Language

The course is given in Dutch as standard. The trainer speaks English. English-language course materials can be used. If at least 3 participants register, the course can also be given entirely in English.

This course for your team?

Plan your own group on a date that suits you, at your office, at our premises or online. We tailor the content to your day-to-day work, and training a whole group is cheaper than individual bookings.

  • Your date and location
  • Tailored content
  • Multiple groups or an academy are also possible
  • More than 25 years' experience
Request a quote No obligation, an adviser will be in touch shortly How in-company works

What others say about this course

“Intensive and inspiring!”

Christiaan Kusters
AFM
Programming in Python
8.1

“A tailor-made course delivered by a knowledgeable, experienced and motivated trainer. A good balance between theory and practice.”

Rowan Klein Gunnewiek
Nedap N.V.
Embedded development with Python or C++
8.0

“A good practical introduction to Python. You learn to programme independently.”

Fred Uiterweerd
Stichting ICTU
Programming in Python
7.7

“A good practical introduction to Python. You learn to programme independently.”

Fred Uiterweerd
Stichting ICTU
Programming in Python
7.7

“In 2 days the course gave me a good picture of Python, the basics, the possibilities and also hands-on work and practice with it. The threshold for me to start using it myself is now lower.”

Frederica Janga
Nederlandse Gasunie N.V.
Programming in Python
7.7

“A very good introduction to embedded control.”

O. Einfinger
FMTC
Embedded development with Python or C++
8.1

Training formats

Classroom

3 days€ 2025,-
  • Pleasant venue with a good trainer
  • Small groups
  • Inspiring and motivating
Choose a date

Online

3 days€ 1770,-
  • Online with a trainer
  • Personal
  • Practical and interactive
Choose a date

In-company

Bespoke trainingOn request
  • 100% for your group
  • Bespoke training
  • At your place or ours
View in-company

Workshop

Up to 4 hours for groupsOn request
  • Suitable for events
  • Interactive and inspiring
  • Large groups too
Request a quote

Private training

At our place or yoursOn request
  • 100% just for you
  • Achieve a lot in little time
  • Whenever you want
Request a quote

Frequently asked questions

What will I learn in the Python Programming Advanced course?

You learn advanced Python features such as the Python data model, classes with inheritance, decorators, iterators, generators, context managers and type hinting. You also work with standard modules such as os, sys, datetime, itertools and re, and are introduced to multithreading, multiprocessing and graphical programming.

Who is this Python follow-up course intended for?

The course is intended for developers, scripters and data analysts who can already program in Python and want to deepen their knowledge. You want to go beyond the basics and write Python code at a professional level.

What prior knowledge do I need?

You have experience with the basics of Python: variables, functions, lists, dictionaries, control flow and simple scripts. If you have taken the Learnit Python Programming course or have acquired comparable knowledge, this course will suit you well.

How is the course structured?

You attend three consecutive classroom days in a small group. Theory and practice exercises alternate, so that you apply each concept in code straight away. Day 1 focuses on the data model and object-oriented programming; days 2 and 3 cover modules, decorators, generators and concurrency.

Do I receive a certificate on completion?

Yes, on successful completion you will receive a Learnit certificate of participation. This shows that you have mastered the advanced parts of Python.

May I bring my own laptop?

Yes, you can work on your own laptop so that you program in a familiar environment. If you do not have a suitable laptop to hand, Learnit will provide a practice laptop for you.

What is the difference between iterators and generators in Python?

An iterator is an object that implements the __iter__ and __next__ iterator protocols and returns values one by one. A generator is a straightforward way of writing an iterator using the yield keyword. Generators keep track of their state automatically and are memory-efficient, because they produce values lazily instead of building an entire list in memory.

When do I use multithreading and when multiprocessing in Python?

Multithreading is suitable for I/O-bound tasks such as network traffic or file operations, because threads can pick up other tasks while waiting. You use multiprocessing for CPU-bound tasks, such as heavy calculations. Because of the Global Interpreter Lock (GIL), Python threads do not really run in parallel on multiple cores, whereas processes do.

What are decorators in Python and what do I use them for?

A decorator is a function that modifies or extends another function or method without changing the original code. You use decorators for logging, caching, authorisation checks, timing and registering functions. Well-known examples are @staticmethod, @classmethod and @property from the standard library.

What is the Python data model and why is it important?

The Python data model describes how objects behave through special dunder methods such as __init__, __repr__, __len__, __getitem__ and __eq__. By implementing these methods, you integrate your own objects seamlessly with Python syntax such as indexing, comparison, iteration and string representation. This makes your code more idiomatic and more powerful.

What is type hinting in Python and is it mandatory?

Type hinting allows you to explicitly annotate the types of variables, parameters and return values, for example def sum(a: int, b: int) -> int. It is not compulsory and has no effect on execution, but it improves readability, helps tools such as mypy to find errors early and improves support in IDEs with autocomplete and refactoring.

What does the Python Programming Advanced course cost?

You can find the current price at the top right of this course page, along with the schedule, location and delivery format. For in-company or bespoke courses we are happy to provide a quotation on request.