Learn how to use regular expressions in Python with the re module. Cover pattern matching, groups, and practical examples for validating and extracting text.
Tutorials
Tutorials
Step-by-step series to learn Python from scratch.
- Regular Expressions in Python
- Working with Dates and Times
Learn how to handle dates and times in Python using the datetime module. Covers datetime, date, time, timedelta, timezones, and practical examples.
- Debugging Python with pdb
Learn how to use Python's built-in pdb debugger to find and fix bugs. Covers setting breakpoints, stepping through code, and inspecting variables.
- Testing Your Code with pytest
Learn how to write and run tests in Python using the pytest framework. Covers test functions, assertions, fixtures, parametrization, mocking, and best practices
- Type Hints and Static Analysis with mypy
Learn how to use type hints and mypy to catch bugs before runtime. This tutorial covers adding type annotations, running mypy, and fixing common type errors.
- Concurrency with threading
Learn how to use Python's threading module to run multiple tasks concurrently. Covers creating threads, locks, and when to use threading vs multiprocessing.
- Parallelism with multiprocessing
Learn how to use Python's multiprocessing module to run code in parallel using multiple processes, bypassing the GIL for CPU-bound tasks
- Async Programming with asyncio
Learn asynchronous programming in Python with asyncio. Master async/await syntax, coroutines, tasks, and run concurrent operations efficiently.
- Packaging and Publishing a Python Library
Learn how to package your Python code and publish it to PyPI so others can install it with pip.
- Pattern Matching with match/case
Learn how to use Python's match statement for structural pattern matching, covering literals, sequences, classes, mappings, and guards
- Making HTTP Requests and Working with APIs
Learn how to make HTTP requests in Python using the requests library, handle responses, and work with REST APIs
- Databases and SQLite in Python
Learn how to use SQLite databases in Python with the sqlite3 module. Covers creating databases, tables, and all CRUD operations with practical examples.
- CSV Files to Data Analysis
Learn how to read, parse, and analyze CSV files in Python using the csv module and pandas. Covers reading, filtering, sorting, and basic data analysis.
- asyncio Basics: Event Loops and Coroutines
Learn asyncio fundamentals: how event loops work, what coroutines are, and how to run async code in Python.
- Async Patterns: Gather, Wait, and Queues
Master asyncio.gather(), asyncio.wait(), and asyncio.Queue to handle concurrent async tasks in Python.
- Async HTTP with aiohttp
Make asynchronous HTTP requests in Python using aiohttp: sessions, timeouts, connection pooling, and error handling.
- Scheduled Tasks in Python
Learn how to schedule Python scripts to run automatically using cron, APScheduler, Celery Beat, and more. Step-by-step tutorial with practical examples.
- Browser Automation with Playwright
Control Chromium, Firefox, and WebKit from Python with Playwright — installation, locators, form filling, assertions, file uploads, and pytest integration.
- Email Automation with Python
Learn to send, read, and manage emails programmatically using Python's smtplib, imaplib, and popular third-party libraries.
- Building CLIs with Click
Build CLIs with Python's Click library. Define commands with decorators, handle options and arguments, validate input, and compose multi-command interfaces.
- Modern CLIs with Typer
Build elegant command-line interfaces using Python type hints with Typer, built on Click.
- Building Installable CLI Tools
Learn how to create Python command-line tools that users can install with pip, using pyproject.toml entry points and argparse.
- Running Shell Commands from Python
Learn how to run shell commands from Python using the subprocess module, handle output, manage processes, and avoid common security pitfalls.
- SSH Automation with Paramiko
Learn how to automate SSH connections and remote command execution in Python using Paramiko, the pure-Python SSH library.
- AWS Automation with Boto3
Learn how to automate AWS services using Boto3, the official AWS SDK for Python. Covers S3, EC2, and common automation patterns.
- Python for Finance: Getting Started
Learn the fundamentals of financial analysis with Python — setting up your environment, working with data, and performing your first stock analysis
- Fetching Stock Data with yfinance
Learn how to download and analyze stock market data using Python's yfinance library.
- Calculating Returns and Volatility
Learn how to calculate simple and log returns, annualized returns, and volatility measures for stock data analysis using Python
- Portfolio Analysis in Python
Learn how to analyze investment portfolios using Python — calculate returns, volatility, Sharpe ratio, and visualize performance
- Backtesting a Simple Strategy
Learn how to backtest trading strategies in Python — build a moving average crossover strategy and analyze key performance metrics
- Installing Python on Your Computer
Learn how to download and install Python on Windows, macOS, and Linux, verify your installation, and launch the interactive REPL.
- Getting Started with Python
Write and run your first Python script, use the interactive REPL, and learn about print(), comments, strings, and numbers.
- Python Basics: Variables, Types, and Operators
Understand Python variables, naming conventions, core data types (int, float, str, bool), arithmetic and comparison operators, and f-strings.
- Control Flow: if, for, and while in Python
Learn how to make decisions with if/elif/else, iterate with for and while loops, and control loop execution with break and continue.
- Writing Functions in Python
Learn how to write functions in Python — the building blocks of reusable code. Master def, parameters, return values, and best practices.
- Lists, Tuples, and Dictionaries
Master Python's core data structures—lists, tuples, and dictionaries—and learn when to use each one for effective programming.
- Modules and Imports
Learn how to organize your Python code into modules and packages, master the import system, and leverage the powerful standard library.
- Classes and Objects
Learn object-oriented programming in Python with classes and objects. Create your own types, define methods, and build reusable components.
- Reading and Writing Files in Python
Learn how to read from and write to files in Python using built-in functions and pathlib. Covers text and binary files, context managers, and common patterns.
- Handling Errors and Exceptions
Learn how to handle errors and exceptions in Python using try, except, else, and finally. Includes raising exceptions and best practices.
- List, Dict, and Set Comprehensions
Learn how to use list, dict, and set comprehensions in Python. Covers basic syntax, filtering, and nested loops.
- *args and **kwargs Explained
Learn how to use *args and **kwargs in Python to write flexible functions that accept any number of positional and keyword arguments.
- How to Join a List into a String in Python
Learn how to convert a list to a string in Python using str.join() with practical examples for different data types and separators.
- String Formatting with f-strings in Python
Learn how to use f-strings to embed variables and expressions inside strings, format numbers with precision, and compare with other formatting methods
- Recursion in Python
Learn how to write recursive functions in Python, understand base cases and recursive cases, and see practical examples like factorial and Fibonacci.
- Generating PDFs in Python
Generate PDFs in Python using ReportLab, fpdf2, and WeasyPrint — from simple text output to multi-page reports with charts.
- pytest Basics: Writing Your First Python Tests with pytest
Learn pytest basics for Python testing. Install pytest, write assertions, run test functions, and interpret output from the pytest runner step by step.
- pytest Fixtures and Parametrize
pytest fixtures share setup across tests. Parametrize runs the same test against multiple inputs. Covers scopes, autouse, and combining.
- Mocking Python: Test Doubles, patch, and MonkeyPatch in pytest
Learn mocking Python tests with unittest.mock, patch, and MonkeyPatch. Replace slow APIs, databases, and external services with controlled test doubles.
- Testing Async Code with pytest
Test async functions and coroutines with pytest-asyncio. Use async fixtures, patch async code, and handle event loop scope correctly.
- Property-Based Testing with Hypothesis
Write tests that verify behaviour across hundreds of automatically generated inputs, catching edge cases that example-based testing misses. Use Hypothesis to...
- Code Coverage and Mutation Testing
Measure code coverage with Coverage.py, then use mutation testing to verify your tests actually catch bugs.
- File Watching and Live Reload with watchfiles
Learn how to monitor file system changes in Python using watchfiles. Automatically restart your processes, trigger builds, or refresh caches when files change.
- Flask Basics: Your First Web App
Learn how to build a web app with Flask, from installation to running your first route. Covers templates, forms, and the request-response cycle.
- Django Basics: Models, Views, and Templates
Learn Django fundamentals: set up a project, create models, build views, and design templates. A hands-on guide for beginners.
- Authentication with FastAPI
Build a secure user authentication system with FastAPI using JWT tokens, password hashing, and dependency injection for protected routes.
- Handling Webhooks in Python
Learn to receive, verify, and process webhooks in Python with Flask and FastAPI. Cover signature verification, security best practices, and real-world examples.
- Deploying Python Web Apps
Learn how to deploy Python web applications to production servers. Covers hosting options, WSGI servers, reverse proxies, SSL, and deployment automation.
- Getting Started with NumPy
Learn the fundamentals of NumPy arrays, creation, and basic operations.
- NumPy Array Operations
Master essential NumPy array operations: element-wise operations, broadcasting, aggregations, and array manipulation.
- Getting Started with pandas
Learn the fundamentals of pandas DataFrames, data loading, and basic data manipulation for analysis.
- Data Cleaning with pandas
Master essential data cleaning techniques in pandas including handling missing values, removing duplicates, string cleaning, and data type conversions.
- Building a Data Cleaning Pipeline
Chain pandas operations into a reusable data cleaning pipeline. Covers method chaining, pipe(), custom transformers, and production-ready ETL patterns.
- Plotting Data with Matplotlib
Learn how to create stunning visualizations in Python with Matplotlib, from basic line plots to custom styling.
- scikit-learn Intro: Your First ML Model
Build your first machine learning model with scikit-learn. Covers estimator pattern, fit/predict API, train-test splits, and a complete classification example.
- Scientific Computing with SciPy
Learn how to use SciPy for optimization, interpolation, integration, and statistics.
- pandas Intro: DataFrames and Series
Get started with pandas DataFrames and Series. Learn how to create, index, filter, and transform tabular data in Python with practical examples.
- Matplotlib Basics: Plots and Charts
Create line plots, scatter charts, bar graphs, and histograms with Matplotlib. Learn the pyplot interface, figure management, and basic customization.
- Data Visualization with Seaborn
Create statistical charts with Seaborn: scatter plots, bar charts, histograms, box plots, and heatmaps. Built on matplotlib with sensible defaults.