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
Python Tutorials
Step-by-step series to learn Python from scratch.
Intermediate Python
10 tutorials
- 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
Master debugging Python with pdb — set breakpoints, step through code, inspect variables, and use post-mortem debugging to find and fix bugs faster.
- 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
Python and Data
3 tutorials
- 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.
Python Async
6 tutorials
- 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.
- Async File I/O with aiofiles in Python
Learn to read and write files asynchronously in Python using aiofiles, without blocking the asyncio event loop or your application's concurrency.
- Task Groups and Exception Handling
asyncio task groups with ExceptionGroup and except* in Python 3.11+ — concurrent coroutines that succeed or fail as a unit, no orphaned tasks.
- Structured Concurrency in Python
Structured concurrency in Python: how asyncio.TaskGroup, asyncio.timeout, and ExceptionGroup compose into a lifetime-safe model on 3.11+.
Python Automation
3 tutorials
- 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 browsers with Playwright from Python: install, find elements, fill forms, assert state, intercept network calls, and integrate with pytest.
- Email Automation with Python
Learn to send, read, and manage emails programmatically using Python's smtplib, imaplib, and popular third-party libraries.
Python CLI
3 tutorials
- Building Command-Line Interfaces with Click in Python
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.
Python Devops
3 tutorials
- 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 in Python
Learn how to automate SSH connections and remote command execution in Python using Paramiko, the pure-Python SSH library.
- Automating AWS Services with Boto3 in Python
Learn how to automate AWS services using Boto3, the official AWS SDK for Python. Covers S3, EC2, and common automation patterns.
Python for Finance
5 tutorials
- 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
Python Fundamentals
15 tutorials
- 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
Master Python basics: variables, data types, and operators with clear examples. See how dynamic typing and f-strings make everyday coding cleaner.
- Control Flow: if, for, and while in Python
Master Python control flow with if/elif/else decisions, for and while loops, break and continue statements, and the loop else clause for cleaner program logic.
- Writing Functions in Python
Master writing functions in Python — covers def, parameters, return values, scope, args and kwargs, docstrings, and best practices for clean reusable code.
- Lists, Tuples, and Dictionaries
Learn how Python's lists, tuples, and dictionaries work so you can pick the right one every time. Covers indexing, slicing, unpacking, and iteration patterns.
- Working with Python Modules and Imports
Organize Python code into modules and packages, master the import system, and use the standard library effectively for building maintainable applications.
- Python Classes and Objects: A Beginner's Guide to OOP
Learn Python classes and objects from scratch. Covers constructors, instance attributes, methods, and self with practical inventory and bank account examples.
- 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
Master handling errors in Python with try/except blocks, custom exceptions, and production-ready patterns for building applications that fail gracefully.
- 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.
Python Output and Reporting
1 tutorial
- Generating PDFs in Python with ReportLab, fpdf2, and WeasyPrint
Learn generating PDFs in Python with ReportLab, fpdf2, and WeasyPrint. Covers text, tables, charts, images, page layout, and in-memory generation for web apps.
Python Testing
7 tutorials
- 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.
- pytest Test Organization Patterns
Learn pytest test organization patterns including project structure, fixtures, and conftest for maintainable test suites.
Python Tooling
1 tutorial
- 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.
Python Web Development
5 tutorials
- 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.
Scientific Python
11 tutorials
- 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.