Welcome to this interactive Python tutorial! This course is designed to take you from a complete beginner to a proficient Python developer, equipped with modern tools and best practices.
The tutorial is divided into 52 lessons, each covering a specific topic. Each lesson has its own directory containing two files:
instructions.md: A Markdown file with the lesson's content, explanations, and examples.exercise.py(ormain.pyfor FastAPI): A Python file with practice exercises for you to complete.
-
Navigate to a lesson directory: Start with
lesson_01. -
Read the instructions: Open the
instructions.mdfile to learn about the topic. -
Complete the exercise: Open the exercise file and write the code to complete the exercises.
-
Run your code: To run your exercise file and see the output, use the following command in your terminal, replacing
lesson_01/exercise.pywith the correct file path:python lesson_01/exercise.py
- Lesson 01: Intro to Python: Introduction to Python & "Hello, World!"
- Lesson 02: Variables & Data Types: Variables & Data Types
- Lesson 03: Basic Operators: Basic Operators
- Lesson 04: User Input & Type Casting: User Input & Type Casting
- Lesson 05: Conditional Statements: Control Flow: Conditional Statements
- Lesson 06: Lists: Lists: Creation, Indexing, and Slicing
- Lesson 07: List Methods: List Methods & Operations
- Lesson 08: For Loops: For Loops & Iterating Over Lists
- Lesson 09: While Loops: While Loops
- Lesson 10: Dictionaries: Dictionaries
- Lesson 11: Tuples & Sets: Tuples & Sets
- Lesson 12: Defining & Calling Functions: Defining & Calling Functions
- Lesson 13: Function Arguments & Return Values: Function Arguments & Return Values
- Lesson 14: Variable Scope: Variable Scope (Local vs. Global)
- Lesson 15: Modules & Importing: Modules & Importing
- Lesson 16: File I/O Reading: File I/O: Reading from Files
- Lesson 17: File I/O Writing: File I/O: Writing to Files
- Lesson 18: Error Handling: Error Handling (Try/Except)
- Lesson 19: OOP Intro: Introduction to Object-Oriented Programming (Classes & Objects)
- Lesson 20: Next Steps: Next Steps & Project Ideas
- Lesson 21: OOP Inheritance: OOP: Inheritance
- Lesson 22: OOP Polymorphism: OOP: Polymorphism & Method Overriding
- Lesson 23: OOP Encapsulation: OOP: Encapsulation (Public, Protected, Private)
- Lesson 24: OOP Dunder Methods: OOP: Dunder (Magic) Methods
- Lesson 25: Static and Class Methods: Static and Class Methods
- Lesson 26: List Comprehensions: List Comprehensions
- Lesson 27: Dict and Set Comprehensions: Dictionary and Set Comprehensions
- Lesson 28: Lambda Functions: Lambda Functions
- Lesson 29: Map Filter Reduce: The
map(),filter(), andreduce()Functions - Lesson 30: Generators: Generators and the
yieldKeyword - Lesson 31: Decorators: Decorators
- Lesson 32: Collections Module: The
collectionsModule - Lesson 33: Dates and Times: Working with Dates and Times (
datetimemodule) - Lesson 34: JSON Data: Working with JSON data (
jsonmodule) - Lesson 35: OS and Sys Modules: Interacting with the Operating System (
osandsysmodules) - Lesson 36: Multithreading: Multithreading (
threadingmodule) - Lesson 37: Multiprocessing: Multiprocessing (
multiprocessingmodule) - Lesson 38: Asyncio Intro: Introduction to Asynchronous Programming with
asyncio - Lesson 39: Async Await: Using
asyncandawaitfor Asynchronous I/O - Lesson 40: Advanced Project: Advanced Project: Putting It All Together
- Lesson 41: Requests Module:
requests- For making HTTP requests. - Lesson 42: BeautifulSoup4:
BeautifulSoup4- For web scraping. - Lesson 43: Pandas:
pandas- For data analysis. - Lesson 44: Matplotlib:
matplotlib- For data visualization. - Lesson 45: Seaborn:
seaborn- For statistical data visualization. - Lesson 46: FastAPI:
FastAPI- For building web APIs.
- Lesson 47: Git and GitHub: Version Control with Git & GitHub
- Lesson 48: Pytest: Testing with
pytest - Lesson 49: Ruff: Code Formatting & Linting with
ruff - Lesson 50: UV Dependency Management: Modern Dependency & Environment Management with
uv - Lesson 51: Databases: Working with Databases (
SQLAlchemywithSQLite) - Lesson 52: Config Management: Configuration Management (using
.envfiles)
Happy learning!
