#100DaysOfCode with Python course

17h 27m 49s
English
Paid
April 22, 2024

#100DaysOfCode in Python is your perfect companion to take the 100 days of code challenge and be successful. This course is 1-part video lesson, 2-parts guided projects. You will be amazed at how many Python technologies and libraries you learn on this journey. Join the course and get started.

More

Source code and course GitHub repository

 github.com/talkpython/100daysofcode-with-python-course

What's this course about and how is it different?

100 days of code is not just about the commitment. The true power and effectiveness is in having a guide and pursuing the "right-sized" projects. That’s why we have 33 deeply practical projects. Each paired with 20-40 minute lessons at the beginning of the project.

Just a small sampling of the projects you’ll work on include:

  • Understating basic Python data structures
  • Searching large text corpuses with regular expressions
  • Consume HTTP services including the Twitter and GitHub APIs among others
  • Visual data with graphs using plotly
  • Convert your Python CLI (command line interface) app to a GUI application
  • Program against Excel in Python to automate your spreadsheet data
  • Build a text-based game and learn object-oriented programming
  • Automate multi-step web processes using selenium
  • Test your code with pytest and unit testing
  • Create a basic web app with Flask
  • Create a JSON-based online game service using Flask too
  • And 22 more projects!

Who is this course for?

This course is for anyone who wants to immerse themselves in Python for 100 days worth of learning and hands-on projects.

We don’t start from absolute zero in terms of programming but if you are new to Python we have a language appendix and we start somewhat slow. By the end of the course, we get into intermediate-level Python projects.

Watch Online #100DaysOfCode with Python course

Join premium to watch
Go to premium
# Title Duration
1 Welcome to the course 02:54
2 The rules of #100DaysOfCode 01:06
3 Topics covered 03:07
4 Why Python for #100DaysOfCode 02:06
5 Course flow 01:34
6 Meet your instructors 01:46
7 Need a Python primer? 00:40
8 Get the source code 02:09
9 Three devs are better than one 01:43
10 Julian's setup 02:44
11 Bob's setup 03:55
12 Michael's tool's and setup 02:47
13 PyBites code challenge platform 03:11
14 Video player: A quick feature tour 02:05
15 Lesson introduction 00:41
16 Your 3 day overview 01:33
17 Learning datetime and date 08:13
18 Datetime timedelta usage 06:08
19 Concepts: what did we learn 04:03
20 Lesson introduction 00:41
21 Namedtuples: more readable code 02:06
22 Defaultdicts: factory for data structures 03:01
23 Counter: don't reinvent the wheel 01:21
24 Deque: when lists become slow 03:28
25 Concepts: what did we learn 00:55
26 Second day: use collections on movie data 04:39
27 Third day: get more practice 01:03
28 Introduction to Data Structures 00:26
29 Your 3 day overview 02:47
30 Manipulating Lists 07:35
31 Immutability and Tuples 03:08
32 Creating and Parsing Dictionaries 07:21
33 Concepts: what did we learn 03:26
34 Lesson introduction 00:48
35 The importance of testing 02:08
36 Setup and a guessing game to test 03:21
37 Hello test world - unittest vs pytest 03:18
38 Mocking randomness / pytest-cov 05:30
39 Mocking user input and exceptions 05:07
40 Testing a program's stdout with capfd 04:51
41 Testing (simulating) the game end-to-end 07:23
42 A TDD primer writing Fizz buzz 05:06
43 Concepts: what did we learn 02:28
44 Second day: use pytest on your code 02:20
45 Third day: writing pytest fixtures 01:37
46 Introduction to the chapter 01:33
47 Modeling concepts: Inheritance, classes, and objects 03:00
48 Demo: Initial project structure 02:43
49 Demo: Building our classes 09:02
50 Demo: Implementing the game play 05:17
51 Concept: Classes 00:56
52 Your turn: Day 1 01:37
53 Your turn: Day 2 01:55
54 Your turn: Day 3 01:08
55 Lesson introduction 01:19
56 Writing a simple list comprehension 03:26
57 Cleaning data with list comprehensions 03:33
58 Generators - the basics 01:56
59 Use generators to build a sequence 01:30
60 List vs generator performance 01:38
61 Concepts: what did we learn 01:32
62 Second day: a practical exercise 00:59
63 Third day: solution and islice 05:05
64 Third day: more code challenges 01:18
65 Introduction to the lesson 00:30
66 Your 3 day overview 02:52
67 Iteration Refresher 04:53
68 Itertools - Cycle 05:34
69 Itertools - Product 04:46
70 Combinations and Permutations 03:55
71 Traffic Lights Project 08:29
72 Concepts: what did we learn? 04:48
73 Lesson introduction 00:40
74 Quick primer on decorators 02:37
75 Function argument types: args and kwargs 03:54
76 Write a timeit decorator (wraps) 02:09
77 More abstraction: stacking decorators 01:56
78 Examples of real life decorators 01:29
79 Concepts: what did we learn 02:01
80 Second day: a practical exercise 00:46
81 Third day: write your own decorator 01:35
82 Introducing Python's error handling 01:01
83 Demo: The starter app skeleton 02:36
84 Demo: try-except blocks 02:31
85 Demo: Error types 04:05
86 Concepts: Error handling and exceptions 01:42
87 Your turn: Day 1 01:19
88 Your turn: Day 2 01:01
89 Your turn: Day 3 00:52
90 Lesson introduction 00:35
91 When not to use regexes 01:55
92 Comparing re.search and re.match 01:50
93 String capturing parenthesis 02:16
94 findall is your friend 03:20
95 Compiling regexes with re.VERBOSE 05:23
96 Using re.sub for string replacing 02:54
97 Concepts: what did we learn 01:58
98 Second day: write your own regexes 02:08
99 Third day: more regex exercises 01:54
100 Introduction to logging 03:25
101 Logging with Logbook 01:18
102 Demo: Introducing our app 02:13
103 Demo: Configuring logging 04:32
104 Demo: Writing the log messages 04:45
105 Demo: Logging a the API level 02:27
106 Demo: File logging 02:31
107 Concepts: Logging 02:30
108 Your turn: Day 1 00:38
109 Your turn: Day 2 00:31
110 Your turn: Day 3 01:21
111 Lesson introduction 01:21
112 Refactoring 1: if-elif-else horror 03:01
113 Refactoring 2: loop counting == enumerate 01:30
114 Refactoring 3: with statement (context managers) 02:25
115 Refactoring 4: use built-ins / standard library 03:15
116 Refactoring 5: tuple unpacking and namedtuples 03:34
117 Refactoring 6: list comprehensions and generators 02:54
118 Refactoring 7: string formatting and concatenation 03:12
119 Refactoring 8: PEP8 and Zen of Python 00:48
120 Refactoring 9: be explicit in your exceptions 02:56
121 Refactoring 10: quality code best practices 02:35
122 Refactoring / code quality resources 02:13
123 Concepts: what did we learn 05:12
124 Your turn: Day 2 and 3 01:32
125 Introduction to CSV programming 00:36
126 Some amazing data sets 02:18
127 Our data 01:03
128 Demo: Getting started with CSV processing 03:39
129 Demo: Reading the CSV file contents 04:20
130 Demo: Parsing the CSV file 02:28
131 Demo: Converting our CSV data to a usable form 07:00
132 Demo: Answer the questions 06:36
133 Concepts: CSV programming 01:44
134 Your turn: Day 1 01:44
135 Your turn: Day 2 00:16
136 Your turn: Day 3 00:30
137 Introduction to JSON 01:12
138 Your 3 day overview 01:59
139 Inspecting JSON schema 02:09
140 Request JSON data from an API 05:36
141 Parsing nested dicts in JSON 08:59
142 Concepts: what did we learn 05:44
143 Introduction to HTTP APIs 01:12
144 Exploring the service 01:46
145 Introducing the Postman app 01:20
146 The requests package 00:55
147 Demo: Building the program structure 04:03
148 Demo: Downloading search results 02:20
149 Demo: Data version one: dicts 02:31
150 Demo: Data version two: Better results 05:04
151 Concepts 01:24
152 Your turn: Day 1 00:45
153 Your turn: Day 2 01:44
154 Your turn: Day 3 00:40
155 Introduction to BeautifulSoup4 00:42
156 Your 3 day overview 02:47
157 Setting up the environment 01:09
158 A quick BS4 overview 02:08
159 Building your first BS4 scraper 09:40
160 Requests best practice 01:50
161 Detailed BS4 scraping and searching 10:20
162 Concepts: what did we learn 05:31
163 Introduction to profiling 00:50
164 Intuition fail 01:11
165 Demo: Getting started 04:14
166 Demo: Focus on our code 01:52
167 Demo: Fine-tuning collection with the API 03:23
168 Demo: Even more focused collection 03:54
169 Demo: Faster with less data processed 06:20
170 PyCharm's profiling 03:04
171 Concepts: Profiling 01:38
172 A quantum warning 01:59
173 Your turn: Day 1 00:46
174 Your turn: Day 2 00:59
175 Your turn: Day 3 00:58
176 Lesson introduction 00:35
177 Your 3 day overview 01:48
178 Setting up our Feedparser environment 01:17
179 Pulling the feed with Requests 03:13
180 Parsing XML with Feedparser 05:24
181 Feedparser Sanity Check 02:45
182 Concepts: what did we learn 03:01
183 Introducing uplink 01:09
184 A glimpse at an API 02:08
185 Use the official API if available 01:02
186 Demo: Getting started 03:09
187 Demo: Exploring the service 01:41
188 Demo: Creating the client 04:22
189 Demo: Getting a individual post 03:21
190 Demo: Only success responses 02:51
191 Demo: Writing a new post 04:43
192 Demo: Better wrappers and helpers 03:21
193 Concepts: uplink 01:56
194 Your turn: Day 1 01:14
195 Your turn: Day 2 00:58
196 Your turn: Day 3 00:38
197 Lesson introduction 00:56
198 Create a Twitter app 00:43
199 Virtual environment and env variables 02:40
200 Get all tweets with tweepy.Cursor 02:59
201 Identify the most popular tweets 02:47
202 Most common hashtags and mentions 02:13
203 Build a Twitter wordcloud 03:50
204 Concepts: what did we learn 02:11
205 Second + third day: practice projects 03:37
206 Lesson introduction 00:53
207 Setup and creating a Github user object 03:30
208 Quick detour: getting help in Python 02:17
209 Ranking user's repos by popularity 04:14
210 Creating a gist with the Github API 04:44
211 Inspecting Github objects with pdb 03:50
212 Concepts: what did we learn 02:03
213 Second day: examples / get practice 02:01
214 Third day: more practice / requests-cache 01:31
215 Introduction to sending Emails 00:48
216 Your 3 day overview 01:45
217 Obtaining your Gmail App ID 02:57
218 Email Project Setup 00:56
219 Sending an Email with smtplib 06:56
220 Getting into MIME 08:27
221 Emailing with BCC 03:33
222 Concepts: what did we learn 04:32
223 Lesson introduction 00:50
224 Your 3 day overview 01:45
225 Setup: Install Pyperclip and your env 00:53
226 Pyperclip Usage 02:34
227 Demo: Affiliate script 05:26
228 Demo: Pyperclip text replacer 06:15
229 Concepts: what did we learn 03:05
230 Lesson introduction 00:39
231 Your 3 day overview 01:59
232 Setup: install openpyxl and your env 00:58
233 Understanding workbooks and worksheets in openpyxl 04:05
234 Working with cell values 06:43
235 Using maxrow 04:02
236 Inserting data into a worksheet 08:10
237 Concepts: what did we learn 06:58
238 Lesson introduction 01:08
239 Setup: install Selenium and ChromeDriver 02:04
240 Hello world Selenium: search python.org 01:12
241 Demo 1: access my Packt ebook collection 06:49
242 Demo 2: automating PyBites banner creation 06:59
243 Concepts: what did we learn 01:55
244 Your turn: Day 2 01:16
245 Your turn: Day 3 01:07
246 Flask introduction 00:43
247 Your 3 day overview 01:57
248 Setting up the environment 01:55
249 Creating your first Flask app! 06:31
250 Dict data in Flask 09:47
251 Concepts: what did we learn 02:44
252 A brief intro to SQLite3 Databases 01:04
253 Your 3 day overview 02:08
254 Installing SQLite DB Browser 01:13
255 Creating a simple SQLite3 address book 07:13
256 Analysing the DB with SQLite DB Browser 00:48
257 Demo: Script to Generate a DB 04:28
258 Inserting data into the address book 02:48
259 Demo: Script to populate the address book 06:22
260 Pulling data with SELECT 02:26
261 Concepts: what did we learn 03:44
262 Lesson introduction 00:59
263 Installing feedparser and plotly 02:18
264 Prep 1: parse PyBites RSS feed data 05:54
265 Prep 2: useful data structures for plotting 04:29
266 Prep 3: transpose data and init Plotly 02:23
267 Creating bar and pie charts with Plotly 03:11
268 Other data visualization libraries 01:54
269 Concepts: what did we learn 03:30
270 Second day: build your own graphs 01:57
271 Third day: extra inspiration / keep coding 01:02
272 Fullstack web introduction 00:46
273 What is fullstack development? 02:21
274 What app will we build? 01:01
275 Introducing Anvil 00:54
276 Anvil building blocks 02:42
277 Creating a new project in Anvil 02:09
278 Adding navigation 02:28
279 Subforms 02:07
280 Linking the forms 04:20
281 Building the Add new document form 02:09
282 Processing add new document 04:45
283 Data tables 02:32
284 Anvil server code 03:27
285 Creating the document 02:54
286 Add document finale 04:52
287 All docs 06:55
288 A refactoring 01:32
289 Adding filtering 03:05
290 Document details form 02:48
291 Publishing our web app 01:56
292 Anvil concepts 02:56
293 Your turn: Day 1 01:50
294 Your turn: Day 2 01:07
295 Your turn: Day 3 01:07
296 Lesson Introduction 00:48
297 Your 3 day overview 02:37
298 Writing and working the main menu 06:07
299 SQLite3 database usage 04:38
300 Scrub function - SQLite3 workaround 05:46
301 Home Inventory app run through 05:02
302 Bug and functionality fixes 05:40
303 Your Turn! - Fix the app 01:06
304 Introducing SQLAlchemy 01:19
305 Demo: Introducing our app 02:38
306 Demo: The app skeleton 02:18
307 Demo: Defining database classes 03:02
308 Demo: Defining columns (via classes) 04:57
309 Demo: Connecting to the database 06:24
310 Demo: Using the data access layer (DAL) 07:34
311 Demo: The final game 00:56
312 Demo: Seeing the database 01:25
313 Concepts: SQLAlchemy 03:18
314 Your turn: Day 1 00:56
315 Your turn: Day 2 01:46
316 Your turn: Day 3 00:40
317 Introduction to Python UIs 02:51
318 Demo: Where we are starting 02:48
319 Demo: Refactoring to isolate user input 02:16
320 Demo: Adding Gooey to our app 05:26
321 Demo: Packaging our app for redistribution 04:48
322 Concepts: Gooey 01:25
323 Your turn: Day 1 01:59
324 Your turn: Day 2 01:03
325 Your turn: Day 3 01:04
326 Introducing our online game server 03:41
327 What API operations are required? 02:45
328 Getting started: Program structures 03:06
329 Adding the Flask basics 02:05
330 Defining JSON methods in Flask 02:58
331 Migrating our SQLAlchemy models 01:48
332 Ensuring starter data 04:24
333 Defining the API methods in Flask 04:56
334 Exercising the API 01:36
335 Implementing the all-rolls method 01:26
336 Implementing the create-game method 01:24
337 Implementing the find-user method 02:58
338 Implementing the create-user method 04:07
339 Implementing the game-status method 02:38
340 Implementing the top-scores method 01:32
341 Implementing the play-round method 04:15
342 Refactoring our web code for single responsibility 04:18
343 Implementing the client 02:36
344 Making the client self-validating 01:25
345 Writing the full client 00:46
346 Implementing the game (client-side) 03:09
347 Your turn: Day 1 01:45
348 Your turn: Day 2 00:46
349 Your turn: Day 3 01:19
350 The final day 00:46
351 You've done it! 00:31
352 What you've learned 01:22
353 Make sure you have the source 00:29
354 Stay immersed in Python 01:08
355 Continue to challenge yourself with PyBites 01:12
356 Thanks and goodbye 01:12
357 Concept: The shape of a program 01:26
358 Concept: Variables 00:51
359 Concept: Truthiness 01:47
360 Concept: If else 01:25
361 Concept: Complex conditionals 01:32
362 Concept: for-in 01:41
363 Concept: Calling functions 01:00
364 Concept: Creating functions 01:34
365 Concept: File I/O 01:20
366 Concept: Imports and importing modules 02:00
367 Concept: Python package index 01:54
368 Concept: pip 02:26
369 Concept: Virtual environments 03:54
370 Concept: Slicing 02:54
371 Concept: Tuples 01:44
372 Concept: Named tuples 01:44
373 Concept: Classes 02:01
374 Concept: objects vs. classes 01:45
375 Concept: Inheritance 01:50
376 Concept: Polymorphism 00:54
377 Concept: Dictionaries 02:31
378 Concept: Error handling 02:39
379 Concept: lambdas 02:09
380 Concept: list comprehensions 02:58
381 Concept: Want more foundational Python? 00:47

Similar courses to #100DaysOfCode with Python course

Visual Studio Code for Python Developers

Visual Studio Code for Python DevelopersTalkpython

Duration 4 hours 10 minutes 20 seconds
Python Django - The Practical Guide

Python Django - The Practical GuideAcademind Pro

Duration 22 hours 54 minutes 38 seconds
OpenAI Assistants with OpenAI Python API

OpenAI Assistants with OpenAI Python APIudemy

Duration 4 hours 13 minutes 2 seconds
Object-Oriented Programming

Object-Oriented Programmingprogrammingexpert.io

Duration 4 hours 36 minutes 7 seconds