150+ Exercises - Object Oriented Programming in Python - OOP
What you'll learn
- solve 150+ exercises in Python object-oriented programming - OOP
- namespaces and scopes (local, enclosing, global, built-in)
- LEGB rule
- use of *args and **kwargs
- classes and objects
- visibility of variables (public, protected, private)
- class attributes
- instance attributes
- decorator @property
- computed attributes
- class method, decorator @classmethod
- static method, decorator @staticmethod
- special methods: __new__(), __init__(), __repr__(), __str__(), __len__() and many more
- single inheritance, multiple inheritance
- MRO - Method Resolution Order
- super()
- abstract classes
- the ABC class and the @abstractmethod decorator
- work with documentation and Stack Overflow
- guaranteed instructor support
Requirements
- completion of all courses in the Python Developer learning path
- basic knowledge of OOP concepts
Description
The "150+ Exercises - Object Oriented Programming in Python - OOP" course is an extensive, hands-on program designed to provide a deep understanding of Object-Oriented Programming (OOP) concepts using Python. This course is perfect for learners aiming to solidify their Python programming skills, with a particular emphasis on OOP principles.
The course is structured into several sections, each focusing on different OOP concepts including classes and objects, inheritance, polymorphism, abstraction, and encapsulation. It covers everything from the basics of creating and using classes, to more advanced topics like inheritance and polymorphism.
Each section comprises numerous exercises designed to reinforce the concepts learned. The problems vary in difficulty, from simple class creation tasks to complex challenges involving multiple classes and inheritance. Every exercise is followed by a detailed solution, facilitating a comprehensive understanding of the application of OOP principles.
The "150+ Exercises - Object Oriented Programming in Python - OOP" course is ideal for Python programmers who want to deepen their understanding of OOP and improve the quality and efficiency of their code. Whether you're new to programming or an experienced developer looking to learn OOP in Python, this course offers a valuable learning experience.
Unleash the Power of Object-Oriented Magic!
Object-oriented programming (OOP) is a programming paradigm widely used in Python and many other languages. In Python, OOP allows developers to organize code into reusable, self-contained objects that encapsulate data and behavior. These objects are created from classes, which serve as blueprints for creating multiple instances.
The key concepts of OOP in Python include classes, objects, inheritance, and polymorphism. Classes define the structure and behavior of objects, while objects are instances of classes that can hold data (attributes) and perform actions (methods). Inheritance enables the creation of hierarchical relationships between classes, allowing subclasses to inherit and extend the properties of parent classes. Polymorphism allows objects of different classes to be treated interchangeably, enhancing flexibility and code reusability.
By using OOP in Python, developers can achieve modularity, abstraction, and code reuse, making it easier to build and maintain complex software systems. OOP facilitates the creation of modular, extensible, and maintainable code, promoting concepts such as encapsulation, separation of concerns, and code organization. Python's support for OOP provides a powerful way to design and implement scalable, efficient, and flexible applications.
Who this course is for:
- programmers or developers who want to deepen their understanding and practical skills in object-oriented programming (OOP) using Python
- students or individuals with a basic knowledge of Python who want to learn and practice OOP concepts and techniques in Python
- software engineers or professionals who want to enhance their ability to design and implement complex software systems using OOP principles in Python
- python developers who are transitioning from procedural programming to object-oriented programming and want to strengthen their skills in this paradigm
- self-learners who prefer a hands-on approach to learning and want to practice implementing OOP concepts and designing classes and objects in Python
- developers from other programming languages who want to learn how to apply OOP concepts specifically in the context of Python programming
Instructor
EN
Python Developer/AI Enthusiast/Data Scientist/Stockbroker
Enthusiast of new technologies, particularly in the areas of artificial intelligence, the Python language, big data and cloud solutions. Graduate of postgraduate studies at the Polish-Japanese Academy of Information Technology in the field of Computer Science and Big Data specialization. Master's degree graduate in Financial and Actuarial Mathematics at the Faculty of Mathematics and Computer Science at the University of Lodz. Former PhD student at the faculty of mathematics. Since 2015, a licensed Securities Broker with the right to provide investment advisory services (license number 3073). Lecturer at the GPW Foundation, conducting training for investors in the field of technical analysis, behavioral finance, and principles of managing a portfolio of financial instruments.
Founder at e-smartdata
PL
Data Scientist, Securities Broker
Jestem miłośnikiem nowych technologii, szczególnie w obszarze sztucznej inteligencji, języka Python big data oraz rozwiązań chmurowych. Posiadam stopień absolwenta podyplomowych studiów na kierunku Informatyka, specjalizacja Big Data w Polsko-Japońskiej Akademii Technik Komputerowych oraz magistra z Matematyki Finansowej i Aktuarialnej na wydziale Matematyki i Informatyki Uniwersytetu Łódzkiego. Od 2015 roku posiadam licencję Maklera Papierów Wartościowych z uprawnieniami do czynności doradztwa inwestycyjnego (nr 3073). Jestem również wykładowcą w Fundacji GPW prowadzącym szkolenia dla inwestorów z zakresu analizy technicznej, finansów behawioralnych i zasad zarządzania portfelem instrumentów finansowych. Mam doświadczenie w prowadzeniu zajęć dydaktycznych na wyższej uczelni z przedmiotów związanych z rachunkiem prawdopodobieństwa i statystyką. Moje główne obszary zainteresowań to język Python, sztuczna inteligencja, web development oraz rynki finansowe.
Założyciel platformy e-smartdata