Design principles for software development with object-oriented programming
With the training Python - Focus Object-Oriented Programming you deepen your Python knowledge and bring it to the next level.
You will learn the most important design principles and best practices of object-oriented programming, so that you can implement your software projects even faster and more efficiently.
The advanced training is designed for those who already have experience with Python and want to use the programming language effectively in a professional context.
In the first chapter you will take a deeper look at function definition and learn about default values, type hints and assert statements. Afterwards you can use functions even better as tools for your projects. You will work with the terms list comprehension and dictionary comprehension for the efficient creation of lists and dictionaries. At the end of the chapter, you will learn how to adapt your code to the industry standard PEP8 by means of layout and structure.
In the second chapter, you'll learn what OOP is, what programming principles are based on it, and what conclusions you can draw from it, using simple examples. In the main part of the chapter you will explore how classes and attributes are defined and used. Using examples, you will examine instance methods and their use and definition with method chaining. You will learn what the self keyword is and how to distinguish debugging from class definitions. Finally, you will test your knowledge in an interactive intermediate project and repeat the exercises from the chapter.
In the third chapter, you'll learn what inheritance and composition are and how to use these concepts in use cases. In addition to simple inheritance, you'll also learn more advanced methods such as inheritance hierarchy and multiple inheritance. You'll practice deep inheritance methods that are used when reusing data from parent to child classes, compensating for data loss. Finally, you'll learn the most important unit testing best practices to help you find bugs in your code before your users find them.
In the fourth chapter you will deal with more advanced concepts of object-oriented programming, which will accompany you in your everyday work. You will study how programs and modules differ and what role object __main__ plays a role in this. You will learn what decorators are and how to use property decorators optimally. You will look at static and class methods and which special methods and class representations are possible with __ str__ () and __repr__ () can be used. Based on this, you will learn about the representation options of operator overloading and other important methods from the Python Standard Library and then apply the learned content in a company-relevant interim project.
In the fifth chapter, you will demonstrate your knowledge in two larger projects that represent classic use cases of object-oriented programming. In the first project, you will build your own interface to a popular data science library that enables further uses for machine learning or data or text analysis. The second project deals with programming your own blockchain, where you will learn the underlying concepts in more detail.