Python - The Practical Guide

16h 26m 30s
English
Paid
April 30, 2024

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.

More

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 Python - The Practical Guide

Join premium to watch
Go to premium
# Title Duration
1 Introduction 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

Similar courses to Python - The Practical Guide

Golang: How to Build a Blockchain in Go Guide

Golang: How to Build a Blockchain in Go Guideudemy

Duration 5 hours 24 minutes 9 seconds
Python Jumpstart by Building 10 Apps

Python Jumpstart by Building 10 AppsTalkpython

Duration 7 hours 8 minutes 59 seconds
REST APIs with Flask and Python

REST APIs with Flask and Pythonudemy

Duration 11 hours 56 minutes 4 seconds
The Software Designer Mindset (COMPLETE)

The Software Designer Mindset (COMPLETE)ArjanCodes

Duration 14 hours 32 minutes 58 seconds
Introduction to Ansible

Introduction to AnsibleTalkpython

Duration 2 hours 54 minutes 19 seconds
Learn Blockchain Technology & Cryptocurrency in Java

Learn Blockchain Technology & Cryptocurrency in Javaudemy

Duration 5 hours 44 minutes 32 seconds