Python - The Practical Guide

16h 26m 30s
English
Paid

Course description

This is a highly practice-oriented Python course that teaches you Python from scratch - no prior programming experience required! Python is probably THE most trending programming language you can learn these days! It's very popular because it's easy to learn and use, runs on all operating systems and allows you to build a broad variety of programs: Be that web applications, desktop applications, utility scripts or using it for data science and machine learning.

Read more about the course

In this course, you'll learn Python from scratch - and you'll do so whilst building your own Blockchain and Cryptocurrency. These are of course also highly trending topics and not a lot of people understand what a Blockchain really is. As a nice side-effect, you will know how a Blockchain works once you completed this course. It's an exciting course project that allows you to learn and apply Python to something you know and you can use.

Why Python?

As written above, Python is both easy-to-use and extremely versatile and powerful at the same time. Certainly not the worst combination. If you check it on Google trends (and compare it to other programming languages), you'll see that it's very popular these days.

It's being used by almost any important company - be that Google, Amazon or Facebook. It's used to run web applications, scripts, desktop programs and machine learning algorithms. This course sets the basics for all these use-cases!

Why Blockchain?

I believe that you learn something best if you directly apply it to a real-world project. And the Blockchain technology is an exciting trend which is there to stay. In this course, you'll learn a lot about the core concepts of the Blockchain and you'll see how Python can be used for the many aspects that make up a Blockchain and Cryptocurrency.

In my opinion, a perfect course project is challenging, interesting, something you know from real-life but also not overly complex. And that's all the case for the Blockchain! It poses some nice challenges where a lot of different Python features can be used to overcome them. It also is something we hear about all the time and yet no one knows how it works. And we can dive into the core Blockchain concepts without spending 100+ hours working on it. 

Who's teaching you?

My name is Maximilian Schwarzmüller and I'm a freelance developer. My focus is on web development but I've been working with Python for many years. It's actually one of the first languages I started with when I was 13. I'm the creator of many 5 star bestseller courses here on Udemy and I love diving into new technologies. That's why I had to dive into this whole Blockchain thing when it became more popular and why I chose it as a project for this course.

I can't wait to welcome you on board of this course and I hope you'll enjoy it just as much as I did creating it! :-)

What's in the course?

Great question! Here's a brief summary:

  • A summary of Python and the Blockchain technology

  • All the base Python syntax you need to know (variables, operators, functions, ...)

  • Loops and conditional statements

  • More complex data structures like tuples or dictionaries

  • A closer look at built-in functions and the standard library Python ships with

  • String manipulation

  • How to work with files

  • Error handling

  • Debugging

  • Object-oriented programming with classes and inheritance

  • Internal & external modules (packages)

  • How to spin up an Http server with the Flask package

  • Handling Http requests (sending & receiving)

  • And more!

What are the course prerequisites?

  • NO prior programming knowledge is required

  • Very basic knowledge about how a computer works will help you though (but can also be built up whilst you're going through the course)

Is this course for you?

It's for you if ...

  • You want to get into programming => Python is a great "first language" since it's easy to learn and very versatile

  • You want to broaden your horizon => Are you a web developer? Want to learn something new? Here you go!

  • You're interested in Python for web development => This course will teach you Python in general but there are two modules where we'll also dive into web development a bit

  • You're interested in the Blockchain technology => You'll learn the core concepts of it as a side-effect of this course!

  • You know Python but want to practice it => The course project is challenging and taken from real-life - there probably is no better practice

Does that sound good to you? I'd be honoured to welcome you in this course! :-)

Requirements:

  • NO prior programming language is required

  • You can use whatever operating system you want - macOS, Linux or Windows: It's all covered

Who this course is for:
  • Anyone interested in learning Python and building a real project with it
  • Anyone who's interested in learning about the core internals of a blockchain
  • Beginner developers who want to dive into one of the most trending and popular programming languages

What you'll learn:

  • Students can take advanced Python courses and build real projects with it
  • Students may build upon the Python and Blockchain knowledge gained in this course and start working on their own Blockchain
  • Students can dive into Web Development or Data Science with Python

Watch Online

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 204 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing

Watch Online Python - The Practical Guide

0:00
/
#1: Introduction

All Course Lessons (204)

#Lesson TitleDurationAccess
1
Introduction Demo
01:52
2
What is Python?
05:08
3
Setting Up Python
03:12
4
Writing our First Python Code
05:06
5
What is the Blockchain?
06:49
6
Course Outline
04:42
7
Python Alternatives
03:59
8
Understanding the Python Versions
02:23
9
How To Get The Most Out Of This Course
03:29
10
Module Introduction
02:17
11
Understanding the REPL and Data Types
04:26
12
Working with Variables
04:47
13
Working with Numbers
05:37
14
Using Operators
03:49
15
Understanding a "Special" Behaviour when Working with Numbers
03:36
16
Working with Strings
02:19
17
Working with Lists
05:10
18
Adding & Removing List Items
03:03
19
Preparing the Blockchain - The Theory
02:03
20
Installing our IDE
05:18
21
Using Functions to Add List Items
06:46
22
Accessing the Last List Item
03:25
23
Adding Arguments to Functions
02:37
24
Understanding the "return" Keyword
03:58
25
Using Default Arguments
04:07
26
Working with Keyword Arguments
03:00
27
Using the "input" Function
03:01
28
Avoiding Repetitive Code Execution
02:08
29
Understanding the Variable Scope
06:50
30
Exploring the Official Documentation
02:26
31
Adding Comments and Doc Strings
04:21
32
Structuring Multi Line Code in Python
01:57
33
Wrap Up
03:29
34
Module Introduction
01:39
35
Understanding Loops - Theory
02:56
36
Creating a "for" Loop
03:03
37
Creating a "while" Loop
03:34
38
Understanding Conditionals - Theory
02:02
39
Adding "if-else" to our Blockchain
07:46
40
Working with "elif"
03:44
41
Understanding "break" & "continue"
03:32
42
Improving our Code with Loops & Conditionals
06:40
43
Understanding Boolean Operators - "is" & "in"
03:38
44
The "not" Keyword
01:18
45
Understanding "and" and "or"
02:27
46
Grouping Conditionals
03:23
47
What About "switch" in Python?
00:42
48
Verifying our Blockchain
13:11
49
Using Conditions inside the "while" Loop
01:57
50
Using "else" in Loops
02:08
51
Adding the "range" Function
07:10
52
Wrap Up
02:32
53
Module Introduction
02:51
54
Understanding the Required Data Structure for our Blockchain
07:04
55
Working with Iterables
05:03
56
Choosing the Right Datastructure
02:56
57
Transactions with Dictionaries & Tuples
07:47
58
Unpacking the Tuple
03:21
59
Mining Blocks
06:18
60
Hashing Previous Blocks
06:24
61
Understanding List Comprehensions
05:49
62
And What are Dict Comprehensions?
01:40
63
Combining List Comprehensions & "if"
02:54
64
Improving the Blockchain Validation Logic
08:21
65
Managing a List of Participants in the Blockchain
03:34
66
Calculating Balances
07:47
67
Rewarding the Miners of our Blockchain
03:24
68
Verifying Transactions
05:46
69
Understanding Reference vs Value Copying
07:08
70
Working with the Range Selector
05:43
71
Understanding Shallow vs Deep Copies
02:43
72
Comparing "is" & "=="
01:37
73
Diving Deeper Into Iterable Methods
07:28
74
Understanding the "all" & "any" Functions
07:36
75
Comparing Iterables
06:47
76
Wrap Up
03:18
77
Module Introduction
01:31
78
Comparing Strings & Lists
03:58
79
Understanding the "format" Method
08:12
80
Escaping Characters
01:48
81
Formatting Strings Conveniently with "f"
01:28
82
Adding String Formatting to our Project
02:01
83
Understanding the "map" Function
02:54
84
Working with Lambda Functions
02:14
85
Reducing Lists
07:41
86
Unpacking Function Arguments
06:33
87
Fixing a Bug
04:14
88
Wrap Up
01:31
89
Module Introduction
01:44
90
Exploring the Python Standard Library
02:13
91
Importing Packages - Theory
04:19
92
Importing "hashlib" to Create a Unique Hash
07:15
93
Using Other Import Syntaxes
01:48
94
The "Proof of Work"
06:54
95
Adding the Proof of Work to our Blockchain
05:49
96
Including the Proof of Work in our Mining Function
07:50
97
Fixing a Hash Order Fault
06:23
98
Splitting Up our Code
04:34
99
Wrap Up
02:03
100
Module Introduction
01:45
101
Handling File Access
05:45
102
Reading Data From a File
02:34
103
Reading Multi-Line Content
05:53
104
Using the "with" Block Statement
02:58
105
Adding File Access to our Blockchain
08:40
106
Converting Strings Into Python Objects
16:02
107
Storing Data with Pickle
06:06
108
Comparing Pickle & JSON
01:06
109
Changing the Project Back to JSON
02:31
110
Why we need Proper Error Handling
00:47
111
Wrap Up
01:18
112
Module Introduction
00:58
113
Finding Logical Errors with the Debugger
05:54
114
Finding Syntax Errors
01:41
115
Using "try" to Find Runtime Errors
04:34
116
Which Errors Should you Handle?
03:02
117
Adding Error Handlers to our Blockchain
02:33
118
Wrap Up
01:50
119
Module Introduction
01:14
120
What is Object Oriented Programming?
02:13
121
Understanding Classes
01:25
122
Creating a Class
05:10
123
Comparing Classes, Instances & Dictionaries
02:45
124
Understanding Class Attributes
03:38
125
Constructor & Instance Attributes
04:22
126
Printing Classes with Special Methods
06:05
127
Private & Public Attributes
04:40
128
Understanding Inheritance
08:47
129
Planning Blockchain Classes
01:33
130
Adding a "Block" Class to the Blockchain
11:08
131
Saving Custom Class Objects via .json
04:50
132
Adding a "Transaction" Class
17:47
133
Inheritance in Action
05:44
134
Adding a "Verification" Helper Class
10:04
135
Initialising the "Node" Class
04:52
136
Turning the Blockchain Into a Class
07:31
137
Adding a "Node" Class
11:12
138
Understanding "Instance" vs "Class" vs "Static Methods" & "Attributes"
03:40
139
Using "Static" & "Class" Methods on the "Verification" Class
03:45
140
Using Private Attributes in the Blockchain
03:44
141
Properties vs Attributes
05:21
142
Wrap Up
02:16
143
Module Introduction
01:42
144
Creating Packages - Module Bundles
04:41
145
The "pycache" Folder
00:44
146
Module Docstrings
00:52
147
Controlling Exports
05:37
148
Understanding Execution Context & "__name__"
04:12
149
Why we Need a Private & Public Key Transaction Protection
04:26
150
Using Anaconda to Install Third Party Packages
06:24
151
Generating Keys with a Third Party Package
06:22
152
Connecting the Node & the Wallet
06:16
153
Generating Keys on the Node
04:07
154
Saving & Loading Keys to Files
08:25
155
Creating Transaction Signatures
06:25
156
Adding a Signature to our Transactions
02:43
157
Verifying Signatures
06:50
158
Improving the Verification Logic
05:42
159
Wrap Up
01:22
160
Module Introduction
02:05
161
HTTP Requests - The Basics
05:41
162
Understanding API-Endpoints/ URLs
03:33
163
Data Formats
03:19
164
Planning our API
02:06
165
Setting Up our Environment with Flask
10:09
166
Adding our First Route
10:10
167
Installing Postman
02:22
168
Adding a POST Request
07:22
169
Setting Up Routes to Manage our Wallet
08:24
170
Returning Funds
05:44
171
Adding Transactions
11:27
172
Fetching Open Transactions
03:15
173
Testing the Public Key
01:47
174
Adding a User Interface
02:42
175
Optional: Configuring our UI - Creating a Wallet
13:18
176
Optional: Configuring our UI - Loading a Wallet and Adding Mining & Transactions
11:59
177
Exploring our UI
02:46
178
Wrap Up
01:53
179
Module Introduction
01:43
180
Adding Node Management Methods to the Blockchain
07:19
181
Setting Up Routes to Add Nodes
07:41
182
Adding a Remove Node Route
05:18
183
Adding "get_Nodes" to get all Nodes
01:20
184
Attaching a Node User Interface
11:08
185
Running Multiple Nodes
11:20
186
Sending Requests from within Python
10:37
187
Broadcasting Transactions - Adding the Function & Route
12:07
188
Broadcasting Transactions - Testing & Fixing Errors
05:52
189
Broadcasting New Blocks: Adding the Function & Route
11:13
190
Broadcasting New Blocks: Informing the Peer Nodes
09:54
191
Broadcasting Transactions: Testing
03:29
192
Solving Conflicts
05:34
193
Understanding Consensus
03:29
194
Finding Conflicts
09:35
195
Implementing a Consensus Algorithm
17:21
196
Testing Consensus
05:50
197
Wrap Up
01:02
198
Module Introduction
00:47
199
Don't Forget PEP 8
02:47
200
Using PEP 8
08:30
201
Using Comments
01:02
202
Diving Deeper Into Python
05:08
203
Improving the Blockchain
10:03
204
Congratulations
00:58

Unlock unlimited learning

Get instant access to all 203 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Comments

0 comments

Want to join the conversation?

Sign in to comment

Similar courses

Python 3: Deep Dive (Part 4 - OOP)

Python 3: Deep Dive (Part 4 - OOP)

Sources: udemy
Python object oriented programming (OOP).
35 hours 15 minutes 32 seconds
Make a Location-Based Web App With Django and GeoDjango

Make a Location-Based Web App With Django and GeoDjango

Sources: realpython.com
Throughout this course, you’ll learn how to use Django and GeoDjango to build a location-based web application from scratch. You’ll be building a simple nearby
56 minutes 48 seconds
Contact Tracing with Elasticsearch

Contact Tracing with Elasticsearch

Sources: Andreas Kretz
In this exciting engineering project, you will learn to track user movements through their phone scans. The goal of the project is to use...
1 hour 37 minutes 3 seconds
Python Programming for Developers

Python Programming for Developers

Sources: codewithmosh (Mosh Hamedani)
Finally, a Python course that doesn’t insult your intelligence and assume you know nothing. Let’s face it, you know what a variable and function are - you don’t need me to tell ...
11 hours 14 minutes 25 seconds
Apache Spark Certification Training

Apache Spark Certification Training

Sources: Florian Roscheck
Apache Spark is a core data skill - here is how to show you got it! Learn Apache Spark from the ground up and show off your knowledge with the Databricks Associate Developer for...
15 hours 13 minutes 1 second