NEW - Hands-On: Data Structures & Algorithms in C# — Free to enroll for 7 days! Enroll now →

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

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#