Object-oriented Programming in Python

We cover the application of object-oriented approach in Python. From encapsulation to polymorphism, from the simplest custom type of data to complex classes deeply integrated in Python.
Code: SCRIPT-003
Duration: 20 hours


This training looks at all aspects of object-oriented programming in Python. We’ll start from encapsulation and an interesting key word __slots__, and then discuss why we need packages and how to make a virtual “sandbox” for a Python project.

Next we review function as an object and learn why it’s useful for a developer. This section focuses on an important theme – decorator, which can greatly simplify your code with cross-functionality. Then we move to the object life cycle, and learn how to create your own type on the basis of existing base types and why it is necessary, and what happens when and how an object is created and destroyed.

After this, you will learn how to return resources to the system, which it lends to the developer who does not always returns them. You’ll learn how to guarantee that by using the context manager. We’ll see how to sum up, extract and multiply user classes by using Python’s magic methods.

And last but not least we’ll discuss how to hide the algorithm for bypassing data structures or data generation based on iterates, yield operators, and review the method of data structure generation by using simplified Python syntax.


Python best practices
  • Code documenting
  • __slots__
  • Static fields and methods
  • Organizing code by modules

Function as object
  • Working with function parameters
  • Closure
  • Decorator
  • Functor
  • Predicate

Object life cycle
  • Customizing object creation
  • Handling non-existing fields and methods of an object
  • Customizing object destruction

Working with resources
  • Context manager
  • Implementing your own context manager

Object handling
  • Magic methods for object comparison operation
  • Magic methods for implementing arithmetic operations and typing operation
  • Magic methods for customizing object view in output flow
  • Magic methods for customizing object cloning

Iterator and generator
  • Concept of iterator
  • Implementing a classical iterator in Python
  • Yield operator
  • Data structure generators based on list comprehensive statements


  • Learn about the advanced features of Python for creating highly efficient and re-usable code

Target Audience

Developers, system administrators and QA engineers, who want to be able to develop, automate and test applications and systems using one of the most powerful programming languages available today.


  • Basic general programming knowledge
  • Ability to understand logical code flows
  • Python basics course or previous contact with Python

Schedule in Online Prices
Register for the next course
Registering in advance ensures you have priority. We’ll notify you when we schedule the next course on this topic
Online €470
Bucharest €470
Krakow €470
Wroclaw €470

Invoices for the course will be issued in local currency. All fees above can change according to training location and delivery mode and are subject to change while scheduling. Price does not include VAT.

The great thing in the presentation was the ability to care to explain every detail that may not have been understood by any participant. I got answers for ALL my questions. Everything was organized professionally. Keep up the good work! :) This was one of the best courses I've attended here at Luxoft. Waiting for more courses on Java, C/C++, Ruby, PHP, ASP.NET, etc.
Courses you may be interested in:
20 hours
20 hours
40 hours

Recommended Reading:

Sign up

First Name*
Last Name*
Preferred Location
Your Comment
Still have questions?
Connect with us
Thank you.
Your request has been received.
Thank you!
The form has been submitted successfully.