Testing with Pytest
Overview of testing basics, using PyTest for unit testing, component testing, and integration testing
The Advanced Python Course is designed for individuals with a basic understanding of Python who wish to deepen their knowledge and expertise in the language. The course provides a comprehensive dive into Python’s advanced features, focusing on both theoretical concepts and practical applications to help participants build proficiency in writing efficient, maintainable, and scalable Python code.
This course is ideal for software developers, data scientists, system administrators, and anyone who already has a working knowledge of Python but wants to advance their skills. If you’ve mastered the fundamentals and are ready to take on more complex tasks and challenges, this course will provide the necessary tools and knowledge to elevate your programming capabilities.
The course is divided into several modules, each focusing on different advanced topics. It covers a range of concepts, from in-depth data types to complex object-oriented programming (OOP) techniques. Participants will gain both theoretical knowledge and hands-on experience through practical sessions, applying learned concepts to real-world scenarios.
By the end of the Advanced Python Course, participants will be able to:
This course provides an in-depth look at advanced Python features, combining theoretical knowledge with practical applications. By the end of the course, participants will have gained the expertise needed to write robust, maintainable, and high-performance Python code. Whether you’re developing web applications, handling data science projects, or building automation scripts, this course will equip you with the skills to succeed at a higher level.
Learn advanced uses for Python.
1. [Theory – 1h; practice – 0h] Introduction to Python
a. Language properties and goals
b. Main language use cases
c. IDE and tools
2. [Theory – 2h; practice – 0h] Data types
a. Data internal representation
b. Scalar data types: bool, int, float, str, ...
c. Container types: list, tuple, dict, set, ...
3. [Theory – 2h; practice – 2h] Control flow
a. Branching: if/elif/else, pattern matching
b. Loops: while, for, break, continue, else
c. Exception handling
4. [Theory – 4h; practice – 3h] Functions
a. Function declaration and argument passing
b. Function as a first-class object
c. Lambdas, closures
d. Decorators
5. [Theory – 2h; practice – 3h] Files
a. Files IO
b. Context managers
c. JSON, Pickle
6. [Theory – 2h; practice – 2h] Modules and packages
a. Importing modules
b. Packages
c. Virtual environments
7. [Theory – 12h; practice – 5h] Object-oriented programming
a. Class declaration
b. Encapsulation, Inheritance, polymorphism
c. Multiple inheritance, MRO, super()
d. Magic methods
e. Operator overloading
f. Collection encapsulation
g. Iterator protocol
h. Generators
i. Attribute access
j. Descriptor protocol
k. Meta classes
Zamyatin Zamyatin, Denys