Python Fundamentals
Master Python from basics to advanced concepts with 210 topics across 29 chapters
🐍 Complete Python Learning Path
This comprehensive curriculum covers everything you need to become a Python expert. Click on any chapter to explore topics, or use the sidebar to navigate directly to specific concepts.
Introduction to Python
7 topicsWhat is Python?
Understanding Python as a programming language
Setting Up Python Environment
Installing Python and setting up development environment
Your First Python Program
Writing and running your first Python script
Python REPL
Interactive Python interpreter
Python 2 vs Python 3
Key differences and migration
Virtual Environments
Managing project dependencies with venv and pip
Python IDEs and Editors
PyCharm, VS Code, Jupyter Notebooks
Basic Syntax
9 topicsVariables and Assignment
Creating and using variables in Python
Data Types
int, float, str, bool, None
Operators
Arithmetic, comparison, logical, bitwise operators
Type Conversion
Converting between data types
Input and Output
print() and input() functions
Comments and Documentation
Single-line, multi-line comments, docstrings
Indentation
Python code blocks and structure
Naming Conventions
PEP 8 style guide for naming
Python Keywords
Reserved words in Python
Strings
8 topicsString Basics
Creating and using strings
String Methods
split, join, strip, replace, find
String Formatting
f-strings, format(), % formatting
String Slicing
Accessing substrings with slicing
String Operations
Concatenation, repetition, membership
Escape Sequences
Special characters in strings
Raw Strings
Raw string literals for regex and paths
Unicode and Encoding
Working with Unicode in Python
Control Flow
8 topicsIf Statements
Conditional execution with if, elif, else
For Loops
Iterating with for loops
While Loops
Condition-based iteration
Break and Continue
Loop control statements
Pass Statement
Placeholder for empty blocks
Range Function
Generating sequences with range()
Enumerate
Getting index and value in loops
Match-Case (Python 3.10+)
Pattern matching in Python
Lists
7 topicsList Basics
Creating and using lists
List Methods
append, extend, insert, remove, pop, sort
List Slicing
Accessing sublists with slicing
List Comprehensions
Creating lists with comprehension syntax
Nested Lists
2D lists and matrices
List Operations
Concatenation, repetition, membership
Copying Lists
Shallow vs deep copy
Tuples
5 topicsSets
5 topicsDictionaries
7 topicsDictionary Basics
Creating and using dictionaries
Dictionary Methods
get, keys, values, items, update
Dictionary Comprehensions
Creating dicts with comprehension syntax
Nested Dictionaries
Dictionaries within dictionaries
DefaultDict
Dictionaries with default values
OrderedDict
Order-preserving dictionaries
Counter
Counting occurrences
Functions
12 topicsFunction Basics
Defining and calling functions
Parameters and Arguments
Positional, keyword, default arguments
Return Values
Returning single and multiple values
*args and **kwargs
Variable-length arguments
Variable Scope
Local, global, nonlocal scope
Recursion
Functions calling themselves
Lambda Functions
Anonymous functions
Closures
Functions remembering their environment
Decorators
Modifying function behavior
Higher-Order Functions
Functions as arguments and return values
Docstrings
Documenting functions
First-Class Functions
Functions as objects
Built-in Functions
8 topicsmap, filter, reduce
Functional programming utilities
zip Function
Combining iterables
sorted and reversed
Sorting and reversing iterables
any and all
Testing conditions on iterables
min, max, sum
Aggregate functions
len, type, isinstance
Type and length checking
eval and exec
Dynamic code execution
dir and help
Introspection functions
Modules & Packages
8 topicsImporting Modules
import, from, as statements
Creating Modules
Writing your own modules
Packages
Organizing modules into packages
pip and Package Management
Installing and managing packages
Standard Library Overview
Built-in modules in Python
os Module
Operating system interactions
sys Module
System-specific parameters
datetime Module
Working with dates and times
Object-Oriented Programming
10 topicsClasses and Objects
Defining classes and creating objects
__init__ Method
Object initialization
Instance Variables
Object-specific data
Class Variables
Shared class-level data
Methods
Instance, class, and static methods
self Keyword
Referencing the instance
Properties
Getters, setters with @property
Dunder Methods
Magic methods like __str__, __repr__
Dataclasses
Simplified class definitions
__slots__
Memory optimization for classes
Inheritance
6 topicsPolymorphism & Abstraction
5 topicsEncapsulation
4 topicsAdvanced OOP
6 topicsException Handling
8 topicsTry-Except Blocks
Basic exception handling
Multiple Exceptions
Catching different exception types
else and finally
Cleanup and success blocks
Raising Exceptions
Throwing exceptions with raise
Custom Exceptions
Creating your own exception classes
Exception Chaining
Preserving exception context
Context Managers
with statement and resource management
Assert Statements
Debugging with assertions
File Handling
9 topicsOpening and Closing Files
open() and close() functions
Reading Files
read, readline, readlines
Writing Files
write, writelines
File Modes
r, w, a, b, + modes
with Statement for Files
Context manager for files
Binary Files
Reading and writing binary data
JSON Files
Working with JSON data
CSV Files
Working with CSV data
pathlib Module
Modern path handling
Iterators & Generators
7 topicsFunctional Programming
6 topicsType Hints & Annotations
7 topicsConcurrency
10 topicsThreading Basics
Creating and managing threads
Global Interpreter Lock (GIL)
Understanding Python GIL
Multiprocessing
Parallel processing with processes
asyncio Basics
async/await syntax
Coroutines
Cooperative multitasking
Event Loops
asyncio event loop
Thread Synchronization
Locks, semaphores, conditions
concurrent.futures
High-level concurrency
Thread-Safe Queues
queue module for IPC
Deadlocks and Race Conditions
Common concurrency issues
Testing
7 topicsDebugging & Profiling
6 topicsDatabase Access
6 topicsWeb Development Basics
7 topicsData Science Essentials
7 topicsAdvanced Topics
7 topicsMetaprogramming
Code that generates code
Memory Management
Understanding Python memory
C Extensions
Writing Python extensions in C
Cython
Python with C performance
Packaging and Distribution
Creating distributable packages
Performance Optimization
Making Python code faster
Python Internals
How Python works under the hood
Best Practices
8 topicsPEP 8 Style Guide
Python code style conventions
Code Organization
Structuring Python projects
Documentation
Writing good documentation
Code Review
Best practices for reviews
Security Best Practices
Writing secure Python code
Linting and Formatting
pylint, flake8, black
Dependency Management
Managing project dependencies
CI/CD for Python
Continuous integration and deployment
💡 Interview Focus
Topics marked with 💼 in the sidebar are frequently asked in technical interviews. Make sure to pay special attention to these concepts for your interview preparation.