Python Development
Learn Python from fundamentals to advanced development, automation, APIs, data handling, and real-world project building.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Python List Methods
Learn essential Python list methods for adding, removing, updating, searching, sorting, reversing, and organizing elements while working with collections of data.
Python Tuples
Learn how Python tuples store ordered collections of values, including creating tuples, accessing elements, indexing, slicing, immutability, unpacking, and common tuple operations.
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.
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.
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.
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().
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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().
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.
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.
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.
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.
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.
Python Packages
Learn how Python packages organize related modules into reusable collections, including package structure, importing packages, __init__.py, package installation, and managing dependencies.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Python pytest
Learn how to test Python applications with pytest, including test functions, assertions, fixtures, parameterization, test discovery, markers, and practical testing workflows.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Python Password Generator
Build a secure password generator in Python to practice randomization, strings, user input, functions, loops, and generating customizable passwords.
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.
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.
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.
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.
Python File Organizer
Build a file organizer in Python to practice file and folder management, pathlib, loops, conditions, file extensions, and automating repetitive tasks.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.