Python - The Practical Guide

Learn Python from the ground up and use Python to build a hands-on project from scratch!

Python - The Practical Guide

Course Overview

About This Course

You’ve watched a few Python videos, maybe copied some snippets, and still feel like you couldn’t build something real without step-by-step hand-holding. Or you’re curious about Python because it’s everywhere, but you don’t know what to learn first—or how it all fits together.

In this course, you don’t learn Python in isolation. You learn it “on the job” by building an actual course project, so every new concept immediately has a purpose. The pace is beginner-friendly, but the work stays practical and motivating instead of turning into endless toy examples.

By the end, you’ll have the confidence to start advanced Python courses, tackle your own projects, and use Python as a launchpad into areas like web development or data science. You’ll also walk away understanding what a blockchain really is—because you built one yourself, along with a cryptocurrency.

What You'll Learn

You’ll build Python fundamentals around a working blockchain + cryptocurrency project, then extend into web basics with Flask and real-world programming workflows.

  • Write core Python code

    Use variables, operators, functions, and control flow to implement complete program logic—so you can move from small snippets to code that actually does a job end-to-end.

  • Control program flow

    Build robust logic with loops and conditional statements, so your programs can make decisions, repeat work, and handle real input instead of fixed, one-off runs.

  • Use Python data structures

    Work confidently with tuples and dictionaries to model and manage structured data—so you can store, update, and query the information your programs need.

  • Work with files & strings

    Manipulate strings and read/write files to persist data and process text—so your scripts can interact with real data instead of living only in memory.

  • Debug and handle errors

    Apply debugging techniques and error handling to find issues faster and keep programs from crashing unexpectedly when something goes wrong.

  • Build OOP and web basics

    Use classes and inheritance, organize code with internal/external modules (packages), and spin up an HTTP server with Flask to send and receive HTTP requests.

Ready to get started?

See enrollment options

Prerequisites

  • No prior programming experience is required.

  • Any operating system works: macOS, Linux, or Windows.

  • Very basic knowledge of how a computer works helps, but you can pick it up while you go.

Who Is This Course For?

  • Complete beginners

    You want a first programming language that’s approachable, but you also want to build something meaningful—not just tiny exercises that don’t translate to real work.

  • Curious web developers

    You already code in another context and want to broaden your horizon with Python, including a taste of web development without switching your entire career overnight.

  • Blockchain explorers

    You keep hearing about blockchain and cryptocurrency and want to understand what’s actually happening under the hood by implementing the core ideas yourself.

Curriculum Overview

Start Now

Preview the structure and pacing of this course before you begin.

  • Getting Started12 lectures36m
    • 01Introduction1:51 min
    • 02What is Python?5:07 min
    • 03Setting Up Python3:11 min
    • 04Writing our First Python Code5:05 min
    • 05Join our Online Learning Community0:00 min
    • 06What is the Blockchain?6:48 min
    • 07Course Outline4:41 min
    • 08Python Alternatives3:58 min
    • 09Understanding the Python Versions2:22 min
    • 10How To Get The Most Out Of This Course3:27 min
    • 11Useful Resources & Links0:00 min
    • 12The Academind Pro Referral Program0:00 min
  • Diving Into the Basics of Python27 lectures1h 43m
    • 01Module Introduction2:16 min
    • 02Understanding the REPL and Data Types4:25 min
    • 03Working with Variables4:46 min
    • 04Working with Numbers5:36 min
    • 05Using Operators3:48 min
    • 06Understanding a "Special" Behaviour when Working with Numbers3:35 min
    • 07Working with Strings2:18 min
    • 08Working with Lists5:09 min
    • 09Adding & Removing List Items3:02 min
    • 10Preparing the Blockchain - The Theory2:02 min
    • 11Installing our IDE5:17 min
    • 12Using Functions to Add List Items6:45 min
    • 13Accessing the Last List Item3:24 min
    • 14Adding Arguments to Functions2:36 min
    • 15Understanding the "return" Keyword3:57 min
    • 16Using Default Arguments4:06 min
    • 17Working with Keyword Arguments2:59 min
    • 18Using the "input" Function3:00 min
    • 19Avoiding Repetitive Code Execution2:06 min
    • 20Understanding the Variable Scope6:49 min
    • 21Exploring the Official Documentation2:25 min
    • 22Adding Comments and Doc Strings4:20 min
    • 23Structuring Multi Line Code in Python1:56 min
    • 24Assignment - Basics (Problem)1:34 min
    • 25Assignment - Basics (Solution)11:24 min
    • 26Wrap Up3:28 min
    • 27Useful Resources & Links0:00 min
  • Working with Loops & Conditionals24 lectures1h 23m
    • 01Module Introduction1:38 min
    • 02Understanding Loops - Theory2:55 min
    • 03Creating a "for" Loop3:02 min
    • 04Creating a "while" Loop3:33 min
    • 05Closing the REPL0:00 min
    • 06Understanding Conditionals - Theory2:01 min
    • 07Adding "if-else" to our Blockchain7:45 min
    • 08Working with "elif"3:43 min
    • 09Understanding "break" & "continue"3:31 min
    • 10Improving our Code with Loops & Conditionals6:39 min
    • 11Understanding Boolean Operators - "is" & "in"3:37 min
    • 12The "not" Keyword1:17 min
    • 13Understanding "and" and "or"2:26 min
    • 14Grouping Conditionals3:22 min
    • 15What About "switch" in Python?0:41 min
    • 16Verifying our Blockchain13:10 min
    • 17Blockchain Theory: Understanding Blockchain Verification0:00 min
    • 18Using Conditions inside the "while" Loop1:56 min
    • 19Using "else" in Loops2:07 min
    • 20Adding the "range" Function7:09 min
    • 21Assignment - Loops & Conditionals (Problem)2:50 min
    • 22Assignment - Loops & Conditionals (Solution)7:52 min
    • 23Wrap Up2:31 min
    • 24Useful Resources & Links0:00 min
  • Understanding Complex Data Structures28 lectures2h 11m
    • 01Module Introduction2:50 min
    • 02Understanding the Required Data Structure for our Blockchain7:03 min
    • 03Working with Iterables5:01 min
    • 04Choosing the Right Datastructure2:55 min
    • 05Transactions with Dictionaries & Tuples7:46 min
    • 06Blockchain Theory: Understanding Transactions0:00 min
    • 07Unpacking the Tuple3:20 min
    • 08Mining Blocks6:16 min
    • 09Hashing Previous Blocks6:23 min
    • 10Understanding List Comprehensions5:48 min
    • 11And What are Dict Comprehensions?1:39 min
    • 12Combining List Comprehensions & "if"2:53 min
    • 13Improving the Blockchain Validation Logic8:20 min
    • 14Managing a List of Participants in the Blockchain3:33 min
    • 15Calculating Balances7:46 min
    • 16Rewarding the Miners of our Blockchain3:23 min
    • 17Verifying Transactions5:45 min
    • 18Understanding Reference vs Value Copying7:07 min
    • 19Working with the Range Selector5:42 min
    • 20Understanding Shallow vs Deep Copies2:42 min
    • 21Comparing "is" & "=="1:36 min
    • 22Diving Deeper Into Iterable Methods7:27 min
    • 23Understanding the "all" & "any" Functions7:35 min
    • 24Comparing Iterables6:46 min
    • 25Assignment - Complex Datastructures (Problem)1:27 min
    • 26Assignment - Complex Datastructures (Solution)7:17 min
    • 27Wrap Up3:17 min
    • 28Useful Resources & Links0:00 min
  • Working with Functions & Strings15 lectures51m
    • 01Module Introduction1:30 min
    • 02Comparing Strings & Lists3:57 min
    • 03Understanding the "format" Method8:11 min
    • 04Escaping Characters1:47 min
    • 05Formatting Strings Conveniently with "f"1:27 min
    • 06Adding String Formatting to our Project2:00 min
    • 07Understanding the "map" Function2:53 min
    • 08Working with Lambda Functions2:13 min
    • 09Reducing Lists7:40 min
    • 10Unpacking Function Arguments6:32 min
    • 11Assignment - Functions & Strings (Problem)2:13 min
    • 12Assignment - Functions & Strings (Solution))5:07 min
    • 13Fixing a Bug4:13 min
    • 14Wrap Up1:30 min
    • 15Useful Resources & Links0:00 min
  • Working with the Python Standard Library15 lectures56m
    • 01Module Introduction1:42 min
    • 02Exploring the Python Standard Library2:12 min
    • 03Importing Packages - Theory4:18 min
    • 04Importing "hashlib" to Create a Unique Hash7:14 min
    • 05Using Other Import Syntaxes1:47 min
    • 06The "Proof of Work"6:53 min
    • 07Blockchain Theory: Understanding the "Proof of Work"0:00 min
    • 08Adding the Proof of Work to our Blockchain5:48 min
    • 09Including the Proof of Work in our Mining Function7:49 min
    • 10Fixing a Hash Order Fault6:22 min
    • 11Splitting Up our Code4:33 min
    • 12Assignment -The Standard Library (Problem)1:41 min
    • 13Assignment -The Standard Library (Solution)3:46 min
    • 14Wrap Up2:02 min
    • 15Useful Resources & Links0:00 min
  • Working with Files15 lectures1h 7m
    • 01Module Introduction1:44 min
    • 02Handling File Access5:44 min
    • 03Reading Data From a File2:33 min
    • 04Reading Multi-Line Content5:52 min
    • 05Using the "with" Block Statement2:57 min
    • 06Adding File Access to our Blockchain8:39 min
    • 07Converting Strings Into Python Objects16:01 min
    • 08Storing Data with Pickle6:05 min
    • 09Comparing Pickle & JSON1:05 min
    • 10Changing the Project Back to JSON2:30 min
    • 11Why we need Proper Error Handling0:46 min
    • 12Assignment - Working with Files (Problem)1:49 min
    • 13Assignment - Working with Files (Solution)10:21 min
    • 14Wrap Up1:17 min
    • 15Useful Resources & Links0:00 min
  • Handling Errors9 lectures20m
    • 01Module Introduction0:57 min
    • 02Finding Logical Errors with the Debugger5:53 min
    • 03Finding Syntax Errors1:40 min
    • 04Using "try" to Find Runtime Errors4:33 min
    • 05Which Errors Should you Handle?3:01 min
    • 06Adding Error Handlers to our Blockchain2:32 min
    • 07Handling Empty File Errors0:00 min
    • 08Wrap Up1:49 min
    • 09Useful Resources & Links0:00 min

And 5 more sections in the full course.

Ready to Get Started?

Choose the option that works best for you.

Single Course

Python - The Practical Guide

One Payment. Lifetime Access.

$69one-time

  • One-time payment
  • All future updates for this course
  • Downloadable resources & code
  • Certificate of completion
  • Hands-on exercises & projects
  • Self-paced learning
  • English captions on all videos
  • Lifetime access