Object Oriented Programming with Python training course

Object Oriented Programming with Python is a practical two day course on the object oriented features of Python. Perfect for programmers with some experience of Python looking to use objects and classes and to understand them.

JBI training course London UK

"I wanted to say this has been a really good course. The best one I have done. It's been very insightful and I have learnt a lot. Great solid foundation and goes in depth for OOP. Also, I really liked the explanations then use of exercises. I really like the exercises, they get you to think which helps solidify the knowledge. "

DH, Software Engineer, OO Python, November 2024

Public Courses

03/08/26 - 2 days
£3000 +VAT
14/09/26 - 2 days
£3000 +VAT
26/10/26 - 2 days
£3000 +VAT

Customised Courses

* Train a team
* Tailor content
* Flex dates
From £1200 / day
EDF logo Capita logo Sky logo NHS logo RBS logo BBC logo CISCO logo
JBI training course London UK

  • Learn Fundamentals: Classes and methods
  • Explore Object Oriented Features
  • Learn about Inside Python Objects
  • Explore Python Protocols
  • Try Alternative Approaches
  • Understand Object oriented theories 
  • Learn Advanced OOP Concepts
  • Utilise OOP Design Principles

The course fills in gaps on the low level details of Python whilst covering the full object model. Learn how all Python object works, Python objects inside and out. The course is hands on with exercises for all the topics. Principles of API design, objects for data abstraction, and best practises are discussed throughout the course.

Fundamentals: Classes and methods

  • Computer architecture and programming languages 
  • Python as a high-level, object-oriented language
  • Objects as abstractions, for thinking
  • The class statement
  • The explicit self
  • The initialiser method __init__
  • Bound methods
  • Attributes and the built-in attribute access functions
  • References and assignment (how Python works)
  • Mutable objects (and call by object)
  • Object copying


Object Oriented Features

  • Class attributes
  • Class methods
  • Properties
  • Private attributes
  • Single inheritance
  • Inheritance to extend and modify the parent
  • The use of super
  • Cooperative multiple inheritance
  • Inheritance as a type heirarchy
  • Mixin Classes
  • Attribute lookup and the method resolution order
  • The type system: isinstance and issubclass


 

Inside Python Objects

  • The instance dictionary
  • Slots
  • Class dictionaries
  • The descriptor protocol


Python Protocols

  • Magic methods and Python protocols
  • The string representation protocol
  • The container protocols
  • Implementing custom containers
  • Inheriting from collections.abc.MutableSequence


Alternative Approaches

  • namedtuples
  • dataclasses
  • type as a class factory


Object oriented theory:

  • History of Object Oriented Programming
  • The pillars of OOP
  •  Abstraction
  •  Inheritance
  •  Encapsulation
  •  Polymorphism
  • Inheritance and the "is a" relationship
  • Object oriented design principles
  • Design patterns
  • The Liskov Substitution Principle
  • Composition versus inheritance

Optional advanced topics (third day):

Advanced OOP Concepts:

  • Interfaces and API design
  • Abstract base classes and protocols
  • Type hints and static typing with mypy
  • Class decorators
  • Metaclasses
  • Context managers and the with statement
  • Weak references and destructors


OOP Design Principles

  • SOLID principles
  • Law of Demeter
  • Liskov Substitution Principle
  • Composition vs inheritance
  • Domain Driven Design
  • Test Driven Development
  • Stop writing classes
  • The hexagon pattern (microservices)
  • The C4 Model for system architecture

 

JBI training course London UK

Object Oriented Programming Theory with Python is a practical two day course on the object oriented features of Python. Perfect for Developers with some experience of Python looking to use objects and classes and to understand them. An excellent course for data scientists, devops engineers and those self taught with Python looking to move beyond scripting into programming.

 


5 star

4.8 out of 5 average

"I wanted to say this has been a really good course. The best one I have done. It's been very insightful and I have learnt a lot. Great solid foundation and goes in depth for OOP. Also, I really liked the explanations then use of exercises. I really like the exercises, they get you to think which helps solidify the knowledge. "

DH, Software Engineer, OO Python, November 2024

Watch live client feedback from Python Training course: 

JBI training course London UK

Certification


Every delegate will be entitled to a certificate of achievement on completion of the course.

If you are missing your certificate - please use the link below to apply - you can also use this link to sign up for the JBI Training newsletter to receive technology tips directly from our instructors - Analytics, AI, ML, DevOps, Web, Backend and Security.
 



Object Oriented Programming Theory with Python is a practical two day course on the object oriented features of Python. Perfect for programmers with some experience of Python looking to use objects and classes and to understand them.

An excellent course for data scientists, devops engineers and those self taught with Python looking to move beyond scripting into programming.

The course fills in gaps on the low level details of Python whilst covering the full object model. Learn how all Python object works, Python objects inside and out. The course is hands on with exercises for all the topics. Principles of API design, objects for data abstraction, and best practises are discussed throughout the course.

JBI Training offers a structured range of Python courses covering every level, from complete beginners through to advanced developers. Available courses include Python for Data Analysts and Quants, Python Introduction, Advanced Python, Python for Financial Traders, Python Machine Learning, AI-Assisted Python, Python Data Wrangling, Clean Code with Python, and Python NLP. All courses are available as instructor-led classroom sessions in London or as live remote online training, with onsite delivery available for corporate teams.
The Python for Data Analysts and Quants course is designed specifically for professionals working with data, including data analysts, financial analysts, quantitative analysts, business intelligence specialists, and data scientists who are new to Python. It covers core Python, data processing with Pandas and NumPy, data visualisation, and applying Python to real-world analytical workflows. No prior Python experience is required.
Yes. All Python courses can be delivered as customised onsite or online programmes for corporate teams. Content can be tailored to match the team's current skill level, industry context, existing tools, and specific objectives — such as automating data workflows, developing internal applications, or integrating Python with AI and machine learning pipelines. JBI has delivered Python training for organisations including the BBC, NHS, RBS, Cisco, and Capita.
Yes. Several Python courses are designed for non-developers or those with limited programming experience, particularly in data and analytics roles. The Python for Data Analysts course requires no prior programming knowledge. Business professionals and analysts can learn Python for automating tasks, processing data from Excel and databases, and creating visualisations — without needing a software development background.
Power BI is a point-and-click business intelligence tool best suited for building interactive dashboards and sharing visual reports quickly. Python is a general-purpose programming language that provides greater flexibility for handling large datasets, automating complex processes, building machine learning models, and performing statistical analysis. Many organisations use both tools together — Power BI for reporting and Python for data preparation, transformation, and modelling.
Yes. JBI offers several Python courses that address AI and machine learning, including Python Machine Learning, Introduction to AI and ML with Python, Data Science and AI/ML with Python, TensorFlow, and AI-Assisted Python — which covers how to use AI coding assistants alongside Python development. These courses are suitable for data scientists and developers who want to build, train, and deploy machine learning models using Python.
Course duration varies by topic and level. Introductory Python courses typically run for three days. Specialist courses such as Python for Financial Traders or Python Machine Learning are generally two to three days. Advanced programmes such as Advanced Python Mastery run for four days. Single-day focused courses are also available, including Pandas Beyond the Basics and AI-Assisted Python. Corporate programmes can be structured flexibly to suit team schedules.
Yes. JBI's Python courses are continuously reviewed and updated to reflect the latest stable Python releases and current best-practice libraries and frameworks. This includes updates to Pandas, NumPy, scikit-learn, TensorFlow, and the latest AI-assisted coding tools. Course content reflects how Python is actively used in professional development, data science, and AI engineering roles today.

CONTACT
+44 (0)20 8446 7555

[email protected]

 

Copyright © 2026 JBI Training. All Rights Reserved.
JB International Training Ltd  -  Company Registration Number: 08458005
Registered Address: Wohl Enterprise Hub, 2B Redbourne Avenue, London, N3 2BS

Modern Slavery Statement & Corporate Policies | Terms & Conditions | Contact Us

POPULAR

AI training courses                                                                        CoPilot training course

Threat modelling training course   Python for data analysts training course

Power BI training course                                   Machine Learning training course

Spring Boot Microservices training course              Terraform training course

Data Storytelling training course                                               C++ training course

Power Automate training course                               Clean Code training course