pyguides

Tutorials

Tutorials

Step-by-step series to learn Python from scratch.

  1. Regular Expressions in Python

    Learn how to use regular expressions in Python with the re module. Cover pattern matching, groups, and practical examples for validating and extracting text.

  2. 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.

  3. 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.

  4. 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

  5. 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.

  6. 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.

  7. 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

  8. Async Programming with asyncio

    Learn asynchronous programming in Python with asyncio. Master async/await syntax, coroutines, tasks, and run concurrent operations efficiently.

  9. 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.

  10. Pattern Matching with match/case

    Learn how to use Python's match statement for structural pattern matching, covering literals, sequences, classes, mappings, and guards

  11. 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

  12. 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.

  13. 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.

  14. asyncio Basics: Event Loops and Coroutines

    Learn asyncio fundamentals: how event loops work, what coroutines are, and how to run async code in Python.

  15. Async Patterns: Gather, Wait, and Queues

    Master asyncio.gather(), asyncio.wait(), and asyncio.Queue to handle concurrent async tasks in Python.

  16. Async HTTP with aiohttp

    Make asynchronous HTTP requests in Python using aiohttp: sessions, timeouts, connection pooling, and error handling.

  17. 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.

  18. Browser Automation with Playwright

    Control Chromium, Firefox, and WebKit from Python with Playwright — installation, locators, form filling, assertions, file uploads, and pytest integration.

  19. Email Automation with Python

    Learn to send, read, and manage emails programmatically using Python's smtplib, imaplib, and popular third-party libraries.

  20. 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.

  21. Modern CLIs with Typer

    Build elegant command-line interfaces using Python type hints with Typer, built on Click.

  22. 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.

  23. 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.

  24. SSH Automation with Paramiko

    Learn how to automate SSH connections and remote command execution in Python using Paramiko, the pure-Python SSH library.

  25. 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.

  26. 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

  27. Fetching Stock Data with yfinance

    Learn how to download and analyze stock market data using Python's yfinance library.

  28. Calculating Returns and Volatility

    Learn how to calculate simple and log returns, annualized returns, and volatility measures for stock data analysis using Python

  29. Portfolio Analysis in Python

    Learn how to analyze investment portfolios using Python — calculate returns, volatility, Sharpe ratio, and visualize performance

  30. Backtesting a Simple Strategy

    Learn how to backtest trading strategies in Python — build a moving average crossover strategy and analyze key performance metrics

  31. 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.

  32. Getting Started with Python

    Write and run your first Python script, use the interactive REPL, and learn about print(), comments, strings, and numbers.

  33. 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.

  34. 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.

  35. 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.

  36. Lists, Tuples, and Dictionaries

    Master Python's core data structures—lists, tuples, and dictionaries—and learn when to use each one for effective programming.

  37. Modules and Imports

    Learn how to organize your Python code into modules and packages, master the import system, and leverage the powerful standard library.

  38. Classes and Objects

    Learn object-oriented programming in Python with classes and objects. Create your own types, define methods, and build reusable components.

  39. 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.

  40. 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.

  41. List, Dict, and Set Comprehensions

    Learn how to use list, dict, and set comprehensions in Python. Covers basic syntax, filtering, and nested loops.

  42. *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.

  43. 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.

  44. 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

  45. 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.

  46. Generating PDFs in Python

    Generate PDFs in Python using ReportLab, fpdf2, and WeasyPrint — from simple text output to multi-page reports with charts.

  47. 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.

  48. pytest Fixtures and Parametrize

    pytest fixtures share setup across tests. Parametrize runs the same test against multiple inputs. Covers scopes, autouse, and combining.

  49. 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.

  50. 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.

  51. 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...

  52. Code Coverage and Mutation Testing

    Measure code coverage with Coverage.py, then use mutation testing to verify your tests actually catch bugs.

  53. 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.

  54. 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.

  55. 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.

  56. Authentication with FastAPI

    Build a secure user authentication system with FastAPI using JWT tokens, password hashing, and dependency injection for protected routes.

  57. 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.

  58. 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.

  59. Getting Started with NumPy

    Learn the fundamentals of NumPy arrays, creation, and basic operations.

  60. NumPy Array Operations

    Master essential NumPy array operations: element-wise operations, broadcasting, aggregations, and array manipulation.

  61. Getting Started with pandas

    Learn the fundamentals of pandas DataFrames, data loading, and basic data manipulation for analysis.

  62. Data Cleaning with pandas

    Master essential data cleaning techniques in pandas including handling missing values, removing duplicates, string cleaning, and data type conversions.

  63. 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.

  64. Plotting Data with Matplotlib

    Learn how to create stunning visualizations in Python with Matplotlib, from basic line plots to custom styling.

  65. 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.

  66. Scientific Computing with SciPy

    Learn how to use SciPy for optimization, interpolation, integration, and statistics.

  67. 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.

  68. 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.

  69. Data Visualization with Seaborn

    Create statistical charts with Seaborn: scatter plots, bar charts, histograms, box plots, and heatmaps. Built on matplotlib with sensible defaults.