Python basics
Introduction: interpreters, distributions, IDEs.
- What's the use of Python?
- Python distributions.
- Install and setting up Python (on Windows, Mac, Linux).
- Write first Python script (using IDLE).
- Python IDEs and text editors.
- Write Python in VS Code
Core types: Strings and Numbers. Mutability. Variables.
- What's in a Python program?
- Numeric Types: integers, floating point numbers, and complex numbers.
- Python arithmetic.
- Strings. Common operations.
- Variables and naming conventions.
- How to comment our code?
- Exercises.
Basic IO and string formatting
- Basic IO.
- Formatted strings.
Data structures: Sequence Types (list, tuple)
- Lists
- Tuples
- Range Objects
- Strings as sequence
Data structures: Dictionaries and Sets
- Dictionaries
- Operations with Dictionaries
- Sets
- Set Operations
Booleans and Logical operations.Conditional Statements.
- Boolean type.
- Logical operators.
- if:elif:else statements.
- Exercises
Loops in Python: for, while, break, continue. Comprehensions
- while/do loops.
- for loops.
- break, continue.
Functions
- What are Functions?
- Function Definition
- Function Call
- Function Parameters (positional, keywords)
- Arguments unpacking - the
**
operator - Function Return Values
- Variables Scope
Exceptions: raising and handling
- What are Exceptions
- Exceptions Handling
- Handling different Exception Types
- Raising Exceptions
Basic OOP concepts in Python
- OOP - Main Concepts
- Classes and Objects in Python
- Attributes
- Class Constructor
- Magic (dunder) methods
- Encapsulation and Data Hiding
- Inspecting Classes and Objects.
Advanced OOP topics in Python
- Inheritance
- Method overriding
- Operator overloading
Iterators. Generators
- Iterators in Python
- iterables vs iterators
- Creating custom Iterator Types
- Generators in Python
- Creating custom Generator function
- Custom Generator vs Custom Iterator - example