Back to Resources
🐍

Python Development

Learn Python from fundamentals to advanced development, automation, APIs, data handling, and real-world project building.

143 Learning Resources
PDF Resource

What Is Python?

An introduction to Python, covering what it is, why it is widely used, its key features, common applications, and how it fits into modern software development.

PDF Resource

Installing Python and Setting Up Your Development Environment

A practical guide to installing Python, configuring the development environment, verifying the setup, managing Python versions, and preparing tools for writing and running Python programs.

PDF Resource

How Python Code Runs

Understand how Python code is executed, from source code and interpretation to bytecode, the Python virtual machine, and the execution process behind every program.

PDF Resource

Your First Python Program: From Print to Program Structure

Learn how to write your first Python program, use print statements, understand basic syntax, organize code, and build a clear foundation for Python program structure.

PDF Resource

Python Syntax and Indentation: Write Code Python Can Understand

Learn the rules of Python syntax and indentation, including statements, blocks, whitespace, comments, line structure, and common syntax errors that affect how Python understands your code.

PDF Resource

Python Comments and Code Readability: Write Code Humans Can Understand

Learn how to write useful Python comments, document code clearly, choose meaningful names, organize statements, and apply readability practices that make programs easier for humans to understand and maintain.

PDF Resource

Python Variables: Store Names and Work With Data

Learn how Python variables store and reference data, how to create and update variables, follow naming rules, and work with different values in practical programs.

PDF Resource

Python Data Types

Understand Python’s core data types, including strings, integers, floats, booleans, lists, tuples, sets, and dictionaries, and learn how Python stores and works with different kinds of data.

PDF Resource

Python Type Conversion and Casting

Learn how to convert values between Python data types using built in functions, understand implicit and explicit conversion, handle common casting errors, and safely work with different types of data.

PDF Resource

Python Input and Output

Learn how Python programs receive input from users and display output, including the input and print functions, formatting values, handling user data, and building interactive programs.

PDF Resource

Python Operators and Expressions

Learn how Python operators and expressions work, including arithmetic, comparison, logical, assignment, membership, identity, and bitwise operators, with practical examples for building and evaluating expressions.

PDF Resource

Python Comparison and Logical Operators

Learn how to compare values and combine conditions using Python comparison and logical operators, including equality, inequality, greater than, less than, and, or, and not.

PDF Resource

Python If Statements

Learn how to use if statements to make decisions in Python programs, evaluate conditions, execute code selectively, and control program behavior based on different situations.

PDF Resource

Python If Else Statements

Learn how to use if else statements to handle alternative conditions, make decisions, execute different blocks of code, and build programs that respond to multiple outcomes.

PDF Resource

Python Elif and Multiple Conditions

Learn how to use elif with if and else statements to evaluate multiple conditions, create multi path decision logic, and control program flow with clear and efficient conditional structures.

PDF Resource

Python Nested Conditions

Learn how to use nested if, elif, and else statements to handle dependent decisions, build layered logic, and organize complex conditional scenarios in Python programs.

PDF Resource

Python Match Case

Learn how to use Python match case statements for pattern based decision making, including literal patterns, multiple cases, wildcard matching, guards, and practical alternatives to complex conditional logic.

PDF Resource

Python While Loops

Learn how while loops repeatedly execute code while a condition remains true, including loop conditions, counters, infinite loops, user controlled repetition, and practical programming patterns.

PDF Resource

Python For Loops

Learn how for loops iterate over sequences and other iterable objects, including ranges, strings, lists, and dictionaries, with practical patterns for repeated tasks and data processing.

PDF Resource

Python range() Function

Learn how Python’s range() function generates sequences of numbers, including start, stop, and step values, and how to use it effectively with for loops and repetitive tasks.

PDF Resource

Python Break Statement

Learn how the break statement stops a loop immediately, when to use it in for and while loops, and how it helps control program flow in practical Python programs.

PDF Resource

Python Continue Statement

Learn how the continue statement skips the current loop iteration and moves to the next one, including how to use it with for and while loops for precise control over program flow.

PDF Resource

Python Pass Statement

Learn how the pass statement works as a placeholder in Python, when to use it in conditions, loops, functions, classes, and exception handling, and how it differs from break and continue.

PDF Resource

Python Nested Loops

Learn how nested loops work in Python, how one loop runs inside another, how iterations are controlled, and how nested loops can be used for patterns, tables, grids, and data processing.

PDF Resource

Python Loop Patterns and Problem Solving

Learn common loop patterns and problem solving techniques in Python, including counting, accumulation, searching, filtering, nested iteration, and combining loops with conditions to solve practical programming problems.

PDF Resource

Python String Methods

Learn the most useful Python string methods for searching, modifying, validating, splitting, joining, and transforming text, with practical examples for everyday programming tasks.

PDF Resource

Python Lists

Learn how Python lists store and organize multiple values, including creating lists, accessing and modifying elements, indexing, slicing, and working with collections of data.

PDF Resource

Python List Indexing and Slicing

Learn how to access, update, and extract elements from Python lists using positive and negative indexing, slicing, start and stop positions, and step values.

PDF Resource

Python List Methods

Learn essential Python list methods for adding, removing, updating, searching, sorting, reversing, and organizing elements while working with collections of data.

PDF Resource

Python Tuples

Learn how Python tuples store ordered collections of values, including creating tuples, accessing elements, indexing, slicing, immutability, unpacking, and common tuple operations.

PDF Resource

Python Sets

Learn how Python sets store unique, unordered values, including creating sets, adding and removing elements, set operations, membership testing, and practical use cases.

PDF Resource

Python Set Operations

Learn how to work with Python sets using union, intersection, difference, symmetric difference, subset and superset checks, and other operations for comparing and combining unique collections of data.

PDF Resource

Python Dictionaries

Learn how Python dictionaries store data as key value pairs, including creating dictionaries, accessing and updating values, adding and removing items, checking keys, and working with structured data.

PDF Resource

Python Dictionary Methods

Learn essential Python dictionary methods for accessing, updating, adding, removing, and organizing key value pairs, including get(), keys(), values(), items(), update(), pop(), and setdefault().

PDF Resource

Python Nested Data Structures

Learn how to work with lists, tuples, sets, and dictionaries nested inside one another, including accessing, updating, iterating over, and organizing complex structured data.

PDF Resource

Choosing the Right Data Structure

Learn how to choose between Python lists, tuples, sets, and dictionaries based on data requirements, ordering, uniqueness, mutability, lookup needs, and practical problem solving scenarios.

PDF Resource

Python Mutability vs Immutability

Understand the difference between mutable and immutable objects in Python, how changes affect objects and references, and why mutability matters when working with lists, tuples, strings, dictionaries, and function arguments.

PDF Resource

Copying Python Data Structures

Learn how to copy Python data structures safely, including assignment, shallow copies, deep copies, and the copy module, while understanding how shared references can affect nested lists, dictionaries, and other mutable objects.

PDF Resource

What Are Functions?

Learn what functions are in Python, why they are useful, how they organize reusable blocks of code, and how functions help make programs clearer, modular, and easier to maintain.

PDF Resource

Python Defining and Calling Functions

Learn how to define and call functions in Python using the def keyword, understand function blocks and execution, and create reusable code that performs specific tasks.

PDF Resource

Python Parameters and Arguments

Learn the difference between parameters and arguments in Python functions, including positional arguments, keyword arguments, default values, and how to pass data into reusable functions.

PDF Resource

Python Return Values

Learn how Python functions return values using the return statement, how to store and use returned results, return multiple values, and understand the difference between returning and printing data.

PDF Resource

Python Default Arguments

Learn how default arguments work in Python functions, how to assign fallback values to parameters, override defaults when needed, and use them to create flexible and reusable functions.

PDF Resource

Python Keyword Arguments

Learn how to pass arguments to Python functions by parameter name, understand keyword argument syntax, combine positional and keyword arguments correctly, and write clearer function calls.

PDF Resource

Python *args and **kwargs

Learn how *args and **kwargs allow Python functions to accept flexible numbers of positional and keyword arguments, including how to collect, unpack, and work with variable length arguments.

PDF Resource

Python Variable Scope

Understand how Python determines where variables can be accessed, including local and global scope, the LEGB rule, nested scopes, and the use of global and nonlocal keywords.

PDF Resource

Python Local vs Global Variables

Learn the difference between local and global variables in Python, where each can be accessed, how functions interact with them, and when to use the global keyword.

PDF Resource

Python Lambda Functions

Learn how Python lambda functions create small anonymous functions in a single expression, including syntax, parameters, return values, and practical uses with functions such as map(), filter(), and sorted().

PDF Resource

Python Higher Order Functions

Learn how Python functions can accept other functions as arguments or return functions as results, with practical examples using map(), filter(), sorted(), and custom higher order functions.

PDF Resource

Python Recursion

Learn how recursive functions work in Python, including base cases, recursive cases, call stacks, common recursion patterns, and practical problems that can be solved using recursion.

PDF Resource

Python Docstrings

Learn how to write and use Python docstrings to document functions, classes, and modules, including recommended formats, accessing documentation with __doc__, and improving code maintainability.

PDF Resource

Python Function Design and Best Practices

Learn how to design clear, reusable, maintainable Python functions using focused responsibilities, meaningful names, appropriate parameters, return values, documentation, and practical coding best practices.

PDF Resource

Python Modules and Imports

Learn how Python modules organize reusable code, how to import modules and specific objects, use aliases, understand import paths, and structure programs across multiple files.

PDF Resource

Python Packages

Learn how Python packages organize related modules into reusable collections, including package structure, importing packages, __init__.py, package installation, and managing dependencies.

PDF Resource

Creating Your Own Modules

Learn how to create custom Python modules, organize reusable code into separate files, import your own functions and variables, and build clean modular programs.

PDF Resource

Python Errors and Exceptions

Learn how Python errors and exceptions occur, understand common error types, read traceback messages, and identify problems that prevent programs from running correctly.

PDF Resource

Python try / except

Learn how to handle runtime errors in Python using try and except blocks, catch specific exceptions, prevent program crashes, and create safer, more reliable programs.

PDF Resource

Python else / finally

Learn how else and finally work with Python exception handling, including when each block runs, how to combine them with try and except, and how finally ensures cleanup code executes.

PDF Resource

Python Raising Exceptions

Learn how to raise exceptions intentionally in Python using raise, create clear error conditions, provide meaningful error messages, and control program behavior when invalid data or situations occur.

PDF Resource

Python Custom Exceptions

Learn how to create custom exception classes in Python, extend built in exception types, raise meaningful application specific errors, and handle them effectively in your programs.

PDF Resource

Python Reading Files

Learn how to read files in Python, open files safely, access their contents using different methods, work with text data, and properly manage file resources.

PDF Resource

Python Writing Files

Learn how to write data to files in Python, use different file modes, create and update text files, append content, and safely manage file resources.

PDF Resource

Python Working with CSV

Learn how to work with CSV files in Python using the csv module, including reading, writing, updating, and processing rows and columns of structured data.

PDF Resource

JSON in Python

Learn how to work with JSON data in Python using the json module, including parsing, serializing, reading, writing, and converting JSON between Python objects and structured data.

PDF Resource

Python File and Folder Management

Learn how to manage files and folders in Python, including creating, renaming, moving, copying, deleting, and navigating directories using built in modules and path utilities.

PDF Resource

Python Environment Variables

Learn how to access and manage environment variables in Python, use the os module, configure application settings, and keep sensitive configuration such as API keys outside source code.

PDF Resource

Python Logging Basics

Learn the fundamentals of logging in Python using the logging module, including log levels, messages, handlers, formatting, and basic practices for monitoring and debugging applications.

PDF Resource

What Is OOP?

Learn the fundamentals of Object Oriented Programming in Python, including objects, classes, attributes, methods, and how OOP helps organize complex programs into reusable and maintainable components.

PDF Resource

Python Classes and Objects

Learn how to define classes and create objects in Python, understand attributes and methods, use instances to represent data and behavior, and build reusable object oriented code.

PDF Resource

Python Constructors and __init__

Learn how constructors and the __init__ method work in Python classes, including object initialization, instance attributes, parameters, default values, and setting up object state.

PDF Resource

Python Instance Attributes

Learn how instance attributes store data unique to each object, how to create and access them using self, update their values, and understand how they differ from class attributes.

PDF Resource

Python Instance Methods

Learn how instance methods work in Python classes, including the self parameter, accessing instance attributes, modifying object state, and defining behavior for individual objects.

PDF Resource

Python Class Attributes and Methods

Learn how class attributes and class methods work in Python, including shared class data, the cls parameter, the @classmethod decorator, and when to use class level behavior.

PDF Resource

Python Encapsulation

Learn how encapsulation organizes and protects object data in Python, including public, protected, and private conventions, name mangling, properties, and controlled access to attributes.

PDF Resource

Python Inheritance

Learn how inheritance allows Python classes to reuse and extend behavior from other classes, including parent and child classes, method inheritance, overriding, and practical object oriented design.

PDF Resource

Python Polymorphism

Learn how polymorphism allows different Python objects to respond to the same method or operation in their own way, including method overriding, duck typing, and flexible object oriented design.

PDF Resource

Python Composition

Learn how composition lets Python classes build complex objects by containing and using instances of other classes, and understand when composition is useful for flexible object oriented design.

PDF Resource

Python Special / Magic Methods

Learn how Python special methods, also called magic or dunder methods, customize object behavior for operations such as initialization, string representation, comparison, arithmetic, iteration, and context management.

PDF Resource

Python Properties

Learn how Python properties control access to object attributes using the @property decorator, including getters, setters, validation, read only attributes, and controlled data management.

PDF Resource

Python Abstract Classes

Learn how abstract classes define common interfaces and required behavior in Python, using the abc module and abstract methods to create structured and consistent class designs.

PDF Resource

Python Dataclasses

Learn how Python dataclasses simplify classes designed mainly for storing data, including the @dataclass decorator, type annotations, generated methods, default values, and practical object modeling.

PDF Resource

Designing Classes in Real Projects

Learn how to design practical Python classes for real projects, including choosing responsibilities, modeling data and behavior, managing relationships, reducing complexity, and creating maintainable object oriented code.

PDF Resource

Python Virtual Environments

Learn how Python virtual environments isolate project dependencies, create and activate environments, install packages safely, manage project specific dependencies, and avoid conflicts between projects.

PDF Resource

Python pip and Package Management

Learn how to use pip to install, upgrade, remove, and manage Python packages, understand package versions and dependencies, and keep project environments organized.

PDF Resource

Python requirements.txt

Learn how to use requirements.txt to record Python project dependencies, specify package versions, install dependencies, and make project environments easier to reproduce and share.

PDF Resource

Python pyproject.toml

Learn how pyproject.toml provides a modern configuration file for Python projects, including project metadata, dependencies, build systems, tool configuration, and package management workflows.

PDF Resource

Python Project Structure

Learn how to organize Python projects into clear, maintainable structures, including source code, modules, packages, tests, configuration files, documentation, and dependency management.

PDF Resource

Debugging Python Applications

Learn practical techniques for debugging Python applications, including identifying errors, using tracebacks, breakpoints, debuggers, logging, inspecting variables, and systematically finding and fixing bugs.

PDF Resource

Python Testing Fundamentals

Learn the fundamentals of testing Python applications, including why testing matters, test cases, assertions, test organization, common testing approaches, and the basics of writing reliable tests.

PDF Resource

Python unittest

Learn how to test Python code using the built in unittest framework, including test cases, assertions, test methods, setup and teardown, test suites, and running automated tests.

PDF Resource

Python pytest

Learn how to test Python applications with pytest, including test functions, assertions, fixtures, parameterization, test discovery, markers, and practical testing workflows.

PDF Resource

Python Type Hints

Learn how to use type hints in Python to make code clearer and more maintainable, including variable annotations, function parameters and return types, built in generic types, and practical typing patterns.

PDF Resource

Python mypy / Static Type Checking Concepts

Learn how mypy and static type checking analyze Python code before runtime, including type annotations, type errors, inference, checking workflows, and practical benefits for reliable code.

PDF Resource

Python Code Formatting and Linting

Learn how code formatters and linters improve Python code quality, consistency, and readability, including formatting rules, linting checks, common tools, and practical development workflows.

PDF Resource

Git + Python Projects

Learn how to use Git effectively with Python projects, including repositories, commits, branches, .gitignore, dependency files, virtual environments, and practical version control workflows.

PDF Resource

Writing Maintainable Python

Learn practical principles for writing clean, readable, testable, and maintainable Python code, including clear structure, naming, modularity, documentation, error handling, and reducing unnecessary complexity.

PDF Resource

Python Security Basics

Learn essential security practices for Python applications, including secure input handling, secrets management, dependency safety, authentication basics, safe file operations, and avoiding common vulnerabilities.

PDF Resource

How Python Web Development Works

Understand how Python powers web applications, including HTTP requests and responses, web servers, frameworks, routing, application logic, templates, databases, APIs, and the request lifecycle.

PDF Resource

HTTP and APIs with Python

Learn how HTTP and APIs work with Python, including requests and responses, methods, status codes, headers, JSON data, authentication basics, and making API calls with Python tools.

PDF Resource

Making API Requests

Learn how to make API requests in Python, including GET and POST requests, query parameters, headers, JSON payloads, authentication, response handling, and common request errors.

PDF Resource

Flask Fundamentals

Learn the fundamentals of Flask for building Python web applications, including application setup, routes, views, request handling, templates, responses, and basic project structure.

PDF Resource

Building a Flask API

Learn how to build a REST API with Flask, including routes, HTTP methods, request data, JSON responses, status codes, validation, error handling, and basic API structure.

PDF Resource

FastAPI Fundamentals

Learn the fundamentals of FastAPI for building modern Python web APIs, including application setup, routes, path and query parameters, request bodies, validation, responses, and automatic API documentation.

PDF Resource

Building a REST API with FastAPI

Learn how to build a RESTful API with FastAPI, including resource-based routes, HTTP methods, request validation, response models, status codes, error handling, and API documentation.

PDF Resource

Connecting Python to Databases

Learn how Python applications connect to databases, including database drivers, connections, queries, transactions, parameterized statements, and safe patterns for working with stored data.

PDF Resource

Python Automation Fundamentals

Learn the fundamentals of automating repetitive tasks with Python, including file operations, folder management, data processing, command execution, scheduling, and building reliable automation scripts.

PDF Resource

Python Automating Files and Folders

Learn how to automate file and folder tasks with Python, including creating, renaming, moving, copying, deleting, organizing, and batch processing files and directories.

PDF Resource

Python Web Automation

Learn how to automate web-based tasks with Python, including browser interaction, page navigation, form handling, element selection, data extraction, automation workflows, and responsible web automation practices.

PDF Resource

Sending Emails with Python

Learn how to send emails with Python using SMTP and email libraries, including plain text and HTML messages, attachments, authentication, secure configuration, and reliable email workflows.

PDF Resource

Python Working with Excel Files

Learn how to read, write, update, and automate Excel files with Python, including worksheets, cells, formulas, formatting, and practical spreadsheet data workflows.

PDF Resource

Building Useful Automation Scripts

Learn how to design and build practical Python automation scripts that solve repetitive tasks, including planning workflows, handling inputs and errors, processing files and data, and making scripts reliable and reusable.

PDF Resource

NumPy Fundamentals

Learn the fundamentals of NumPy for numerical computing in Python, including arrays, array creation, indexing, slicing, data types, vectorized operations, and basic numerical calculations.

PDF Resource

Pandas Fundamentals

Learn the fundamentals of Pandas for data analysis in Python, including Series, DataFrames, indexing, selecting data, filtering, sorting, missing values, and basic data manipulation.

PDF Resource

Python Data Cleaning

Learn practical data cleaning techniques in Python, including handling missing values, removing duplicates, correcting data types, standardizing values, detecting inconsistencies, and preparing datasets for analysis.

PDF Resource

Python Data Analysis Project

Apply Python data analysis skills in a practical project, covering data loading, cleaning, exploration, transformation, analysis, visualization, and extracting meaningful insights from a real dataset.

PDF Resource

Python for AI and Machine Learning

Learn how Python is used in AI and machine learning, including essential libraries, data preparation, model building, training, evaluation, and the core workflow behind practical machine learning projects.

PDF Resource

Machine Learning Workflow

Learn the end to end machine learning workflow in Python, from defining the problem and preparing data to feature engineering, model training, evaluation, tuning, and deployment.

PDF Resource

Python First ML Project

Build your first machine learning project in Python by working through the complete process of preparing data, selecting features, training a model, evaluating results, and making predictions.

PDF Resource

Python Calculator

Build a practical calculator in Python to learn user input, arithmetic operators, functions, conditional logic, error handling, and program structure through a small hands on project.

PDF Resource

Python Snake Game

Build a classic Snake game in Python to practice loops, conditions, functions, keyboard input, game state, collision detection, scoring, and structured program design.

PDF Resource

Python Tic Tac Toe Game

Build a classic Tic Tac Toe game in Python to practice functions, lists, loops, conditional logic, user input, game state, win detection, and structured program design.

PDF Resource

Python Number Guessing Game

Build a number guessing game in Python to practice random numbers, user input, loops, conditions, comparisons, attempts, and basic game logic.

PDF Resource

Python Turtle Space Shooter

Build a Space Shooter game in Python using the turtle module to practice keyboard controls, player movement, shooting, enemy movement, collision detection, scoring, lives, and game loops.

PDF Resource

Python Quiz Application

Build a quiz application in Python to practice lists, dictionaries, functions, loops, conditional logic, user input, score tracking, and interactive program design.

PDF Resource

Python Turtle Car Racing Game

Build a car racing game in Python using the turtle module to practice graphics, keyboard controls, movement, collision detection, game loops, scoring, and interactive game design.

PDF Resource

Python Password Generator

Build a secure password generator in Python to practice randomization, strings, user input, functions, loops, and generating customizable passwords.

PDF Resource

Python Turtle Race Game

Build a Turtle Race game in Python using the turtle module to practice graphics, random movement, loops, user input, functions, and simple game logic.

PDF Resource

Python To-Do CLI

Build a command line To-Do application in Python to practice lists, dictionaries, functions, loops, user input, file handling, task management, and CLI program design.

PDF Resource

Python Expense Tracker

Build an expense tracker in Python to practice user input, lists, dictionaries, functions, file handling, data processing, categorization, and tracking income and expenses.

PDF Resource

Python Contact Book

Build a contact book in Python to practice dictionaries, functions, user input, searching, updating, deleting, and organizing contact information in a practical application.

PDF Resource

Python File Organizer

Build a file organizer in Python to practice file and folder management, pathlib, loops, conditions, file extensions, and automating repetitive tasks.

PDF Resource

Python Weather API Application

Build a weather application in Python using a public API to practice HTTP requests, JSON data, user input, API responses, error handling, and displaying real time weather information.

PDF Resource

Python Web Scraper

Build a web scraper in Python to practice HTTP requests, HTML parsing, data extraction, selectors, loops, error handling, and organizing scraped information.

PDF Resource

Python URL Shortener

Build a URL shortener in Python to practice APIs, URL validation, user input, database or file storage, unique short codes, redirects, and web application logic.

PDF Resource

Python Authentication System

Build an authentication system in Python to practice user registration, login, password hashing, sessions, input validation, authentication flows, and secure access control.

PDF Resource

Python Blog API

Build a blog API in Python to practice RESTful endpoints, CRUD operations, request validation, JSON responses, database integration, authentication, and API error handling.

PDF Resource

Python Expense Management API

Build an expense management API in Python to practice RESTful endpoints, CRUD operations, data validation, categorization, database integration, authentication, and expense tracking.

PDF Resource

Full-Stack Python Application

Build a full stack application with Python to practice backend development, APIs, databases, authentication, frontend integration, application architecture, and end to end project development.

PDF Resource

REST API + Database Project

Build a complete REST API with Python and a database to practice CRUD operations, API design, data modeling, validation, authentication, database queries, and error handling.

PDF Resource

Python Automation Project

Build a practical automation project in Python to combine file handling, data processing, APIs, scheduling, error handling, and reusable automation workflows into a complete application.

PDF Resource

Data Analysis Capstone Project

Build a complete data analysis capstone project in Python to apply data collection, cleaning, exploration, transformation, visualization, statistical analysis, and insight generation on a real world dataset.

PDF Resource

Python Rock Paper Scissors

Build a Rock Paper Scissors game in Python to practice user input, random choices, conditional logic, functions, loops, and game rules through an interactive project.

PDF Resource

Python Final Capstone Project

Build a complete Python capstone project that combines programming fundamentals, data structures, functions, OOP, file handling, APIs, databases, testing, error handling, and real world application design.