Intermediate Python and Object-oriented Programming

This course covers the application of the object-oriented approach in Python. Dive into functions as objects, OOP essentials (inheritance, encapsulation, object lifetime, polymorphism, and operator overloading), resource management, iterators, generators, and module handling—all with a focus on clean code and documentation!
  • duration 20 hours
  • Language English
  • format Online
duration
20 hours
location
Online
Language
English
Code
SCRIPT-003
price
€ 600 *

Available sessions



Training for 7-8 or more people?
Customize trainings for your specific needs
customize trainings

Description

Take your Python skills to the next level with this comprehensive intermediate course, designed to unlock advanced coding capabilities.

 

1. Functions as Objects: Understand how Python treats functions as first-class objects. Learn to pass, return, and dynamically create functions for flexible and reusable code.
2. Master OOP: Build robust and maintainable applications using Object-Oriented Programming. Delve into inheritance for code reuse and encapsulation for better security and modularity, and explore object lifetime, including constructors, destructors, and memory management.
3. Polymorphism in Action: Unlock the power of polymorphism for adaptable program behavior and master operator overloading to customize how objects of your classes interact with standard operators.
4. Resourceful Programming: Learn to handle files, manage database connections, and clean up resources using Python’s efficient context managers and the with statement.
5. Iterators & Generators: Develop custom iterators and leverage generators to handle large datasets efficiently with lazy evaluation and the yield keyword.
6. Module Management: Organise your code into clean, reusable modules and packages. Use Python’s documentation tools like docstrings and frameworks to produce clear and professional documentation instantly.

 

By the end of this course, you'll be ready to tackle complex Python projects with confidence and best practices.

After completing the course, a certificate is issued on the Luxoft Training form

Objectives

  • Learn about the advanced features of Python for creating highly efficient and reusable code.

Target Audience

  • This course is intended for developers, system administrators, and QA engineers who wish to be able to develop, automate, and test applications and systems using one of the most powerful programming languages available today.

Prerequisites

  • Basic general knowledge of programming and scripting languages;
  • Ability to understand logical code flows;
  • Python basics course (e.g., SCRIPT-002) or previous contact with Python (personal projects, previous jobs, etc.)
  • Entry test completion is highly recommended.

Roadmap

1. Functions as Objects

  • Learn how functions are treated as first-class objects in Python.
  • Explore passing, returning, and dynamically creating functions.

2. Object-Oriented Programming (OOP)

  • Understand the core principles of OOP.

2.1 Inheritance

  • Extend and reuse functionality from base classes.
  • Explore single and multiple inheritance.

2.2 Encapsulation

  • Implement access control with private, protected, and public members.
  • Use properties and decorators to manage data safely.

2.3 Object Lifetime

  • Delve into object creation, lifecycle management, and garbage collection.
  • Understand constructors, destructors, and Python’s memory management.

3. Resource and Data Management

  • Handle files, manage database connections, and clean up resources effectively.
  • Use context managers (with statement) for reliable resource handling.

4. Polymorphism and Operator Overloading

  • Implement polymorphism for flexible code behavior.
  • Overload operators like +, -, and == to customize class behavior.

5. Iterators and Generators

  • Create custom iterators and generators for efficient data processing.
  • Understand yield and lazy evaluation.

6. Module Management and Documentation

  • Organize code into modules and packages.
  • Use tools like docstrings, doctests, and documentation generators for clarity.

  • Trainer

Zhmurov Vsevolod


Related courses

You may also be interested in

Discover more about professional growth and skills development

contact us