About this course
Specific Skills Acquired: Participants of the course will gain knowledge and skills in using a number of specific constructions of the Python language. In particular, the course will address the issues of functional and object-oriented decomposition of program code, which will make the code much more flexible and supportable.
General Objectives: This course is aimed at developers who use Python to solve everyday problems and want to gain a better understanding of the concepts and constructions of language. The course includes discussion of such aspects of functional programming as anonymous functions, locking, currying and composition, as well as of object-oriented programming including multiple inheritance, super() calls, magic methods, operator overloading, etc.
- Function as first-class object
- Namespaces and LEGB rule
- Passing parameters to a function
- Functional idioms: map, filter, reduce
- Class implementation. Encapsulation, inheritance, polymorphism.
- Multiple inheritance, MRO, super()
- Operators overriding, magic methods
- Attribute access, descriptors, object creation