30% OFF - Use code HANDSON30 for 30% off any course or Dometrain Pro! Browse courses →
  • Courses
  • Learning Paths
  • Blogs
  • Authors
  • Leaderboard
  • Dometrain Pro
  • Shopping Basket

    Your basket is empty

  • Business Portal
  • Hands-On: Learn Python

    Learn Python from scratch by completing practical exercises and writing real Python code.

    About This Course

    Just reading about Python won’t make you an expert. The real learning happens when you build real projects and solve practical problems. Our extensive Python course spans over 25 hours and is filled with interactive, hands-on exercises using Dometrain’s advanced web Code Editor. You will start with the fundamentals of Python and progress to more advanced topics like object-oriented programming, data analysis, and web development. No previous experience with Python is necessary; you just need a basic background in programming. At Dometrain, we strive to help developers gain practical skills from the ground up. You can try this course free for 14 days to see if it matches your learning style. Whether you want to learn Python for the first time or improve your current skills, this course will help you stay current with the latest Python best practices.

    Course Curriculum

    25h 20m 44 sections
    Hello World
    05:00
    Printing Multiple Lines
    05:00
    Comments
    05:00
    Basic Arithmetic Output
    05:00
    String Concatenation
    05:00
    Chapter Capstone - Formatted Receipt
    05:00
    Creating Variables
    05:00
    Integer and Float Types
    05:00
    String Type
    05:00
    Boolean Type
    05:00
    None Type
    05:00
    The type() Function
    05:00
    Type Conversion
    05:00
    Chapter Capstone - Type Converter
    10:00
    Floor Division and Modulo
    05:00
    Exponentiation
    05:00
    Comparison Operators
    05:00
    Logical Operators
    05:00
    Assignment Operators
    05:00
    Membership and Identity
    05:00
    Chapter Capstone - Expression Evaluator
    10:00
    String Indexing
    05:00
    String Slicing
    05:00
    String Methods Part 1
    05:00
    String Methods Part 2
    05:00
    f-Strings
    05:00
    String Formatting
    05:00
    Escape Characters and Raw Strings
    05:00
    Chapter Capstone - Text Processor
    05:00
    if Statement
    05:00
    if-else Statement
    05:00
    if-elif-else Chain
    05:00
    Nested Conditionals
    05:00
    Truthy and Falsy Values
    05:00
    Chapter Capstone - Grade Calculator
    10:00
    Basic While Loop
    05:00
    While with Conditions
    05:00
    Infinite Loops and Break
    05:00
    While Loop Patterns
    05:00
    Chapter Capstone - Number Processor
    05:00
    range() Function
    05:00
    For Loop Basics
    05:00
    Iterating Over Strings
    05:00
    Building Results with For Loops
    05:00
    enumerate()
    05:00
    Chapter Capstone - String Analyzer
    10:00
    break Statement
    05:00
    continue Statement
    05:00
    The else Clause on Loops
    05:00
    Nested Loops
    05:00
    Common Loop Patterns
    05:00
    Chapter Capstone - Pattern Generator
    05:00
    Creating Lists
    05:00
    Accessing List Elements
    05:00
    List Slicing
    05:00
    Modifying Lists
    05:00
    Removing Elements
    05:00
    List Methods
    05:00
    Iterating Over Lists
    05:00
    Chapter Capstone - List Toolkit
    05:00
    Creating Tuples
    05:00
    Tuple Unpacking
    05:00
    Tuples are Immutable
    05:00
    Tuples as Return Values
    05:00
    Chapter Capstone - Coordinate Operations
    05:00
    Creating Dictionaries
    05:00
    Accessing and Modifying Dictionaries
    05:00
    Dictionary Methods
    05:00
    Iterating Over Dictionaries
    05:00
    Nested Dictionaries
    05:00
    Checking Keys and Counting
    05:00
    Chapter Capstone - Student Gradebook
    05:00
    Creating Sets
    05:00
    Adding and Removing Set Elements
    05:00
    Set Operations
    05:00
    Set Comparisons
    05:00
    Chapter Capstone - Set Calculator
    05:00
    Basic List Comprehension
    05:00
    Comprehension with Condition
    05:00
    Comprehension with Transform
    05:00
    Nested Iteration in Comprehension
    05:00
    Chapter Capstone - Data Transformer
    05:00
    Dictionary Comprehension
    05:00
    Set Comprehension
    05:00
    Conditional Expressions in Comprehensions
    05:00
    Generator Expressions
    05:00
    Chapter Capstone - Report Generator
    05:00
    Defining Functions
    05:00
    Functions Without Return
    05:00
    Multiple Return Values
    05:00
    Early Return
    05:00
    Docstrings
    05:00
    Chapter Capstone - Math Toolkit
    10:00
    Default Parameter Values
    05:00
    Keyword Arguments
    05:00
    *args - Variable Positional Arguments
    05:00
    **kwargs - Variable Keyword Arguments
    05:00
    Argument Order
    05:00
    Chapter Capstone - Flexible Calculator
    10:00
    Local vs Global Scope
    05:00
    The global Keyword
    05:00
    The nonlocal Keyword
    10:00
    Closures
    05:00
    Chapter Capstone - Function Factory
    05:00
    Lambda Functions
    05:00
    map() Function
    05:00
    filter() Function
    05:00
    sorted() with key
    05:00
    functools.reduce()
    05:00
    Chapter Capstone - Data Pipeline
    10:00
    Recursive Functions
    05:00
    Recursion with Return Values
    05:00
    Recursion on Lists
    05:00
    Recursion with Accumulators
    05:00
    Chapter Capstone - Recursive Explorer
    05:00
    Defining a Class
    05:00
    Creating Multiple Objects
    05:00
    Instance Attributes
    05:00
    Default Attribute Values
    05:00
    Class with Multiple Attributes
    05:00
    Chapter Capstone - Bank Account
    10:00
    Instance Methods
    05:00
    Methods that Modify State
    05:00
    Methods Calling Other Methods
    05:00
    The @property Decorator
    05:00
    Property Setters
    05:00
    Chapter Capstone - Shopping Cart
    10:00
    Basic Inheritance
    05:00
    Overriding Methods
    05:00
    The super() Function
    05:00
    Adding New Methods
    05:00
    isinstance() and issubclass()
    05:00
    Chapter Capstone - Shape Hierarchy
    10:00
    Duck Typing
    05:00
    Method Overriding as Polymorphism
    05:00
    Polymorphic Functions
    05:00
    Operator Overloading Preview
    05:00
    Chapter Capstone - Zoo Simulator
    10:00
    str and repr
    05:00
    eq and ne
    05:00
    lt, le, gt, ge
    05:00
    add and sub
    05:00
    len and contains
    05:00
    getitem and setitem
    05:00
    Chapter Capstone - Custom Collection
    10:00
    @classmethod
    05:00
    @staticmethod
    05:00
    Class Attributes
    05:00
    Factory Pattern
    05:00
    Chapter Capstone - Configuration Manager
    10:00
    The abc Module
    10:00
    Abstract Methods
    10:00
    Concrete Methods in Abstract Classes
    08:20
    Interface Pattern
    05:00
    Chapter Capstone - Plugin System
    10:00
    Catching Specific Exceptions
    05:00
    Multiple except Clauses
    05:00
    The else Clause
    05:00
    The finally Clause
    05:00
    Chapter Capstone - Robust Parser
    05:00
    Raising Exceptions
    05:00
    Custom Exception Classes
    05:00
    Exception Hierarchies
    05:00
    Exception Chaining
    05:00
    Chapter Capstone - Validation Framework
    10:00
    from...import
    05:00
    import with Aliases
    05:00
    Standard Library Tour
    05:00
    Chapter Capstone - Module Explorer
    10:00
    Reading Files
    05:00
    Reading Lines
    05:00
    Writing Files
    05:00
    Appending to Files
    05:00
    Processing File Data
    05:00
    Chapter Capstone - File Analyzer
    05:00
    The Iterator Protocol
    05:00
    Making a Class Iterable
    05:00
    Generator Functions
    05:00
    Generator Expressions vs List Comprehensions
    05:00
    yield from
    05:00
    Chapter Capstone - Lazy Pipeline
    05:00
    Functions as First-Class Objects
    05:00
    Simple Decorator
    05:00
    The @syntax
    05:00
    functools.wraps
    05:00
    Decorators with Arguments
    05:00
    Chapter Capstone - Decorator Toolkit
    10:00
    The with Statement Revisited
    05:00
    Custom Context Manager Class
    05:00
    contextlib.contextmanager
    05:00
    Exception Handling in Context Managers
    05:00
    Chapter Capstone - Resource Manager
    05:00
    Basic Pattern Matching
    05:00
    Character Classes and Quantifiers
    05:00
    Groups and Capturing
    05:00
    re.findall() and re.sub()
    05:00
    Anchors and Boundaries
    05:00
    Chapter Capstone - Text Parser
    05:00
    json.loads()
    05:00
    json.dumps()
    05:00
    Nested JSON Structures
    10:00
    Custom Serialization
    10:00
    Chapter Capstone - JSON Transformer
    10:00
    Counter
    05:00
    defaultdict
    05:00
    OrderedDict
    05:00
    namedtuple
    05:00
    deque
    05:00
    Chapter Capstone - Data Analyzer
    10:00
    Basic Dataclass
    05:00
    Default Values
    05:00
    Frozen Dataclasses
    05:00
    Post-Init Processing
    10:00
    field() Function
    10:00
    Chapter Capstone - Data Model
    11:00
    Basic Enum
    05:00
    IntEnum
    05:00
    auto()
    08:20
    Enum Methods
    08:20
    Chapter Capstone - State Machine
    10:00
    Basic Type Annotations
    05:00
    Collection Type Hints
    05:00
    Optional and Union
    05:00
    Type Aliases
    05:00
    Callable and Generic Types
    10:00
    Chapter Capstone - Typed Data Processor
    12:40
    functools.partial
    05:00
    functools.lru_cache
    05:00
    itertools.chain and itertools.islice
    05:00
    itertools.product and itertools.combinations
    05:00
    itertools.groupby
    05:00
    Chapter Capstone - Functional Pipeline
    12:00
    Basic match/case
    05:00
    Capture Patterns
    05:00
    OR Patterns
    05:00
    Guard Clauses
    05:00
    Class Patterns
    10:00
    Chapter Capstone - Command Parser
    12:00
    async and await Basics
    05:00
    asyncio.sleep
    05:00
    asyncio.gather
    05:00
    Async Generators
    10:00
    Async Context Managers
    05:00
    Chapter Capstone - Async Task Runner
    12:00
    slots
    10:00
    Descriptors
    10:00
    init_subclass
    05:00
    Metaclasses Introduction
    10:00
    Multiple Inheritance and MRO
    10:00
    Chapter Capstone - Framework Builder
    13:20
    The Walrus Operator
    05:00
    Advanced Unpacking
    05:00
    zip() and Zip Patterns
    05:00
    any() and all()
    10:00
    Protocols (Structural Subtyping)
    10:00
    Chapter Capstone - Pythonic Refactoring
    12:00

    Meet Your Instructor

    Nick Chapsas

    Nick Chapsas

    Nick Chapsas is a .NET & C# content creator, educator and a Microsoft MVP for Developer Technologies with years of experience in Software Engineering and Engineering Management.

    He has worked for some of the biggest companies in the world, building systems that served millions of users and tens of thousands of requests per second.

    Nick creates free content on YouTube and is the host of the Keep Coding Podcast.

    View all courses by Nick Chapsas

    What's New

    Getting Started: Model Context Protocol (MCP)
    course

    Getting Started: Model Context Protocol (MCP)

    Learn how to get started with the Model Context Protocol (MCP) and integrate it into your applications.

    Learn more about Getting Started: Model Context Protocol (MCP)
    Hands-On: Learn TypeScript
    course

    Hands-On: Learn TypeScript

    Learn TypeScript through hands-on coding exercises. Practice what you learn with interactive challenges designed for every level.

    Learn more about Hands-On: Learn TypeScript
    Hands-On: Learn JavaScript
    course

    Hands-On: Learn JavaScript

    Learn JavaScript through hands-on coding exercises. Practice what you learn with interactive challenges designed for every level.

    Learn more about Hands-On: Learn JavaScript
    Hands-On: Data Structures & Algorithms in C#
    course

    Hands-On: Data Structures & Algorithms in C#

    Master data structures and algorithms through hands-on coding exercises in C#. Free to enroll for 7 days!

    Learn more about Hands-On: Data Structures & Algorithms in C#
    Blogsmith.ai
    feature

    Blogsmith.ai

    Turn your videos into blogs and newsletters with AI. Check out our new product at blogsmith.ai.

    Learn more about Blogsmith.ai
    Leaderboard
    feature

    Leaderboard

    See how you stack up against other learners. Track your progress, climb the ranks, and compete with the Dometrain community.

    Learn more about Leaderboard
    Hands-On: Learn PostgreSQL
    course

    Hands-On: Learn PostgreSQL

    Learn PostgreSQL through hands-on coding exercises. Practice what you learn with interactive challenges designed for every level.

    Learn more about Hands-On: Learn PostgreSQL
    Free Hands-On: C# for Beginners
    course

    Free Hands-On: C# for Beginners

    Learn C# through hands-on coding exercises. Practice what you learn with interactive challenges designed for everyone, from beginners to experts.

    Learn more about Free Hands-On: C# for Beginners
    Getting Started: AI for .NET Developers
    course

    Getting Started: AI for .NET Developers

    Get started with integrating AI into your .NET applications effectively using the latest LLM best practices.

    Learn more about Getting Started: AI for .NET Developers
    Getting Started: Building .NET Applications on AWS
    course

    Getting Started: Building .NET Applications on AWS

    Learn how to build and deploy .NET applications on AWS using CDK, Lambda, DynamoDB, S3, and more.

    Learn more about Getting Started: Building .NET Applications on AWS
    What's new in C# 14
    blog

    What's new in C# 14

    This guide covers every new C# 14 feature, explains its benefits, and provides practical code examples to help you navigate how you can use them.

    Learn more about What's new in C# 14
    Let's Build It: AI Chatbot with RAG in .NET Using Your Data
    course

    Let's Build It: AI Chatbot with RAG in .NET Using Your Data

    Build a Retrieval-Augmented Generation (RAG) chatbot that can answer questions using your data.

    Learn more about Let's Build It: AI Chatbot with RAG in .NET Using Your Data
    From Zero to Hero: SignalR in .NET
    course

    From Zero to Hero: SignalR in .NET

    Enable enterprise-grade real-time communication for your web apps with SignalR.

    Learn more about From Zero to Hero: SignalR in .NET
    Deep Dive: Solution Architecture
    course

    Deep Dive: Solution Architecture

    Master solution architecture and turn business needs into scalable, maintainable systems.

    Learn more about Deep Dive: Solution Architecture
    Migrating: ASP.NET Web APIs to ASP.NET Core
    course

    Migrating: ASP.NET Web APIs to ASP.NET Core

    A step-by-step process to migrate ASP.NET Web APIs from .NET Framework to ASP.NET Core.

    Learn more about Migrating: ASP.NET Web APIs to ASP.NET Core
    Getting Started: Caching in .NET
    course

    Getting Started: Caching in .NET

    Let's make the hardest thing in programming easy for .NET software engineers.

    Learn more about Getting Started: Caching in .NET
    From Zero to Hero: Testing with xUnit in C#
    course

    From Zero to Hero: Testing with xUnit in C#

    Learn how to test any codebase in .NET with the latest version of xUnit, the industry-standard testing library.

    Learn more about From Zero to Hero: Testing with xUnit in C#
    Create a ChatGPT Console AI Chatbot in C#
    blog

    Create a ChatGPT Console AI Chatbot in C#

    This walkthrough is your hands-on entry point to create a basic C# console application that talks to ChatGPT using the OpenAI API.

    Learn more about Create a ChatGPT Console AI Chatbot in C#