The Modern Python 3 Bootcamp

The Modern Python 3 Bootcamp
The Modern Python 3 Bootcamp
English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 29.5 Hours | 4.80 GB

A Unique Interactive Python Experience With Nearly 200 Exercises and Quizzes

Welcome to the Modern Python 3 Bootcamp! I’ve launched my fair share of Udemy courses, but I’ve never done anything quite this crazy.

This course is a unique experience on Udemy. There are dozens of existing Python courses you can choose from, but this course is the only one that has nearly 200 interactive challenges you can complete right here in your browser. I didn’t just tack on a couple of exercises at the end; this course is fully built around the coding exercises. This course is all about getting you writing code ASAP, rather than sitting back watching a bunch of videos.

In development, I referred to this course as a hybrid between a typical Udemy course and an interactive Codecademy-style course. You get over 25 hours of in-depth videos and my dumb jokes along with meticulously created exercises and quizzes to test your knowledge as you go.

Many of the older Python courses still focus on Python 2. This course is all about writing the most modern, up-to-date Python code, so Python 3 was the obvious choice. The course covers all the latest additions and changes to the Python language. The course also places a large emphasis on thinking like a Python developer, and writing code the “Pythonic” way.

As for the curriculum, This course teaches all the key topics covered by other Python courses, but also covers more advanced topics like web scraping, crawling, and testing, just to name a few. Please feel free to explore the curriculum and watch some of the free preview videos!

Python is consistently ranked in either first or second place as the most in-demand programming languages across the job market. It has applications in data science, machine learning, web development, self-driving cars, automation, and many many other disciplines. There has never been a better time to learn it!

I’m spent years teaching people to program at in-person bootcamps in the San Francisco Bay Area. In recent years, I’ve started bringing my methods from the classroom to the online world. In my first year teaching online, I was selected as the Best Newcomer Instructor in the Udemy Instructor Awards 2015. I’m passionate about making the best possible online learning experiences that mirror my in-person courses.

What you’ll learn

  • Learn all the coding fundamentals in Python!
  • Work through nearly 200 exercises and quizzes!
  • Learn about all of the latest features in Python 3.6
  • Use Python to create an automated web crawler and scraper
  • Make complex HTTP requests to APIs using Python
  • Master the quirks of Python style and conventions
  • Really Really Understand Object Oriented programming in Python
  • Learn testing and TDD (Test Driven Development) with Python
  • Write your own Decorators and higher order functions
  • Write your own Generators and other Iterators
  • Confidently work with Lambdas!
  • Master tricky topics like Multiple Inheritance and Polymorphism
  • Build games with Python
  • Build larger projects that span across multiple files
  • Work with all the Python data structures: lists, dictionaries, sets, tuples, and more!
  • Become an expert at list and dictionary comprehensions
  • Master built-in python functions like zip and filter
  • Handle errors and debug code
  • Write your own custom modules
  • Work with files, including CSV
Table of Contents

Course Introduction
1 Course Introduction
2 Python3 vs. Python2
3 How The Exercises Work
4 Where Should You Start
5 How The Course is Structured

MACLINUX Command Line Fundamentals
6 Why Use The Command Line
7 Moving and Renaming with MV
8 Deleting Files with RM
9 Deleting Directories (Plus Tangents on Permissions and MAN Pages)
10 Command Line Fundamentals II
11 Command Line Installation MAC
12 Absolute Paths and PWD
13 Using CD
14 Using LS
15 Command Line Fundamentals
16 Making Directories with MKDIR
17 Creating Files with TOUCH
18 Quick Activity Salamanders and Frogs

WINDOWS Command Line Fundamentals
19 Why Do You Need The Command Line
20 Command Line Fundamentals II (Windows)
21 Using Powershell
22 Paths, LS, and PWD
23 Using The CD Command
24 Command Line Fundamentals (Windows)
25 OPTIONAL Making Directories with MKDIR
26 OPTIONAL Making Files (it’s…complicated)
27 Creating a Touch Function
28 OPTIONAL Removing Files and Folders with RM

MAC Python Setup
29 Installing Python MAC
30 Optional Installing Sublime Text
31 Our First Python Program!
32 Say Your Name
33 SOLUTION
34 Important Note on Print and the Python Interpreter

WINDOWS Python Setup
35 Installing Python On a PC
36 Introducing Sublime Text
37 Your First Python Program
38 Print Your Name
39 SOLUTION
40 Important Note on Print and the Python Interpreter

Numbers, Operators, and Comments
41 Section IntroductionObjectives
42 Introduction to the Python Documentation
43 Numbers Ints and Floats
44 Quick Ints and Floats Quiz
45 Numbers Basic Math
46 Basic Math Refresher
47 Quick Note Comments
48 One Question Quiz
49 Numbers Weirder Operators
50 Numbers Quiz

Variables and Strings
51 Variables and Data Types
52 Double Vs. Single Quotes
53 Make Some Variables!
54 SOLUTION
55 String Escape Sequences
56 Escape Sequence Practice
57 SOLUTION
58 String Concatenation
59 String Concatenation Exercise
60 SOLUTION
61 String Formatting
62 Introduction to Variables
63 IMPORTANT Interpolation w Udemy Exercises
64 Formatting Strings
65 SOLUTION
66 Strings and Indexes (Indicies)
67 Converting Data Types
68 Building a Mileage Convertor With User Input
69 Variables and Data Types
70 Bank Robbery Money
71 SOLUTION
72 Variable Naming Restrictions and Conventions
73 Data Types Overview
74 What The Heck is Dynamic Typing
75 Super Quick One Question Quiz!
76 The Special Value NONE

Boolean and Conditional Logic
77 Section Introduction and Objectives
78 The Joy of Comparison Operators
79 Logical AND & OR
80 Food Classifying Exercise
81 SOLUTION
82 LOGICAL NOT
83 Boolean Logic Principles
84 A Note on Is Vs. ==
85 Bouncer Code-Along and Nested Conditionals
86 Boolean & Conditional Logic in Python
87 Positive or Negative Checking
88 Getting User Input
89 SOLUTION
90 Calling in Sick
91 SOLUTION
92 Intro to Conditionals
93 Lucky Number 7
94 SOLUTION
95 Number is Odd
96 SOLUTION
97 Multiple Elifs
98 A Word on Truthiness + A Quick Example

Rock, Paper, Scissors
99 Rock, Paper, Scissor Mini Project BASIC Version
100 RPS Mini Project BASIC Version Solution
101 RPS Mini Project Refactoring Time
102 Another Cleaner RPS Solution
103 RPS Mini Project Playing Against The Computer
104 RPS Mini Project Computer AI Solution

Looping in Python
105 Section Introduction
106 Introducing While Loops
107 EXERCISE Emoji Art
108 EXERCISE Stop Copying Me
109 The Break Keyword
110 Stuck in a Loop
111 While Loop Exercise
112 SOLUTION
113 Loops
114 IMPORTANT ANNOUNCEMENT ON LOOPS EXERCISES
115 The Basics of For Loops
116 Exploring Ranges In Depth
117 Quick Ranges Quiz
118 For Loop and Range Exercise
119 SOLUTION
120 EXERCISE Screaming Repeating
121 EXERCISE Unlucky Numbers

Guessing Game
122 Guessing Game Mini Project
123 Guessing Game Solution
124 Improving Rock Paper Scissors
125 SIDE NOTE Python Style and PEP8

Lists
126 Intro to Lists and Objectives
127 SOLUTION
128 List Methods Append, Insert, and Extend
129 Lists Basics Exercise
130 SOLUTION
131 List Methods Clear, Pop, and Remove,
132 Lists Quiz
133 List Methods Index, Count, Sort, Reverse, and Join
134 Lists Methods Exercise
135 SOLUTION
136 Slices
137 Creating Lists
138 Slices Quiz
139 Swapping Values in Lists
140 Creating Lists Exercise
141 SOLUTION
142 Accessing Data in Lists
143 Accessing List Data
144 SOLUTION
145 Iterating Over Lists
146 List Iteration Exercise

Lists Comprehensions
147 List Comprehension
148 SOLUTION
149 Nested Lists
150 List Exercises 5
151 SOLUTION
152 One More Nested List Comp Challenge
153 SOLUTION
154 Lists Recap
155 List Comprehension With Conditional Logic
156 List Comprehension Exercises
157 SOLUTION
158 More List Comprehension Exercises
159 SOLUTION
160 Another List Comp Exercise
161 SOLUTION
162 List Exercises 4

Dictionaries
163 Intro To Dictionaries Creating Dictionaries
164 Using In With Dictionaries
165 Dictionary Methods Clear, Copy, Fromkeys, and Get
166 Dictionary Access
167 SOLUTION
168 Fromkeys Exercise
169 SOLUTION
170 Dictionary Methods Pop, Popitems, and Update
171 Dictionary Methods Exercise
172 SOLUTION
173 Spotify Playlist Example
174 Dictionary Creation Exercise
175 Dictionary Comprehension
176 Dictionaries Quiz
177 SOLUTION
178 Accessing Data in Dictionaries
179 Access Data in a Dictionary Exercise
180 SOLUTION
181 Iterating Dictionaries
182 Totaling Donations Exercise
183 SOLUTION

Dictionary Exercises
184 State Abbreviations Exercise
185 SOLUTION
186 List to Dictionary Exercise
187 SOLUTION
188 Vowels Dict Exercise
189 SOLUTION
190 ASCII Codes Dictionary
191 SOLUTION

Tuples and Sets
192 Section Introduction
193 Tuple Looping and Methods
194 Introduction to Sets
195 Set Methods and Set Math
196 Tuples and Sets Quiz
197 Tuples and Sets Exercise
198 SOLUTION
199 Set Comprehension and Recap

Functions Part I
200 Introduction to Defining Functions
201 SOLUTION
202 Parameters
203 Yell Function Exercise
204 SOLUTION
205 Common Mistakes When Returning
206 Fix This Function!
207 SOLUTION
208 Default parameters
209 Default Parameter Exercise – Talking Animals
210 SOLUTION
211 Defining Functions
212 Keyword Arguments
213 Scope
214 Docstrings and Functions Recap – WE DID IT!
215 Your First Function
216 SOLUTION
217 The Magical Return Keyword
218 Writing a coin flip Function Using Random
219 Super Quick Return Exercise
220 SOLUTION
221 Generating Evens Exercise

Functions Exercises
222 Product
223 SOLUTION
224 multiple letter count
225 SOLUTION
226 list manipulation
227 SOLUTION
228 is palindrome
229 SOLUTION
230 frequency
231 SOLUTION
232 multiply even numbers
233 SOLUTION
234 SOLUTION
235 capitalize
236 SOLUTION
237 compact
238 SOLUTION
239 intersection
240 SOLUTION
241 partition
242 SOLUTION
243 return day
244 SOLUTION
245 last element
246 SOLUTION
247 number compare
248 SOLUTION
249 single letter count

Functions Part II
250 Introduction and args
251 SOLUTION
252 Dictionary unpacking
253 calculate
254 SOLUTION
255 Args and Kwargs
256 args Exercise The Purple Test
257 SOLUTION
258 kwargs
259 kwargs Exercise
260 SOLUTION
261 Ordering Parameters
262 Tuple unpacking
263 Unpacking Exercise

Lambdas and Built-In Functions
264 Lambdas
265 Any and All
266 Generator Expressions and Using sys.getsizeof
267 AnyAll Exercise
268 SOLUTION
269 Sorted
270 Min and Max
271 Extremes Exercise – Using Min and Max
272 SOLUTION
273 Reversed
274 Len() and a Special Sneak Peak of OOP!
275 Writing Your Own Lambda!
276 Abs(), Sum(), and Round()
277 Greatest Magnitude Exercise
278 SOLUTION
279 sum even values
280 SOLUTION
281 sum floats
282 SOLUTION
283 Zip Basics
284 More Complex Zip Examples
285 Interleaving Strings (kind of tough!)
286 SOLUTION
287 SOLUTION
288 triple and filter
289 SOLUTION
290 extract full name
291 SOLUTION
292 Map
293 Map Time Exercise
294 SOLUTION
295 Filter
296 Filter Exercise!
297 SOLUTION

Debugging and Error Handling
298 Section Introduction
299 Common Types of Errors in Python
300 Raising Our Own Errors
301 Try and Except Blocks
302 Try, Except, Else, and Finally!
303 Debugging With PDB
304 Errors Quiz
305 Debugging and Error Handling Exercises
306 SOLUTION

Modules
307 Section Introduction
308 Built-in and Custom Imports Quiz
309 Installing External Modules And TermColor
310 ASCII Art Exercise
311 Using The autopep8 Package to Clean Up Code
312 The Mysterious name variable
313 External Modules and Module Patterns Quiz
314 Working With Built-In Modules
315 Built In Modules Exercise
316 SOLUTION
317 Built-In Modules Slightly Tougher Challenge
318 SOLUTION
319 Custom modules
320 Custom Module Exercise
321 SOLUTION

OPTIONAL SECTION Making HTTP Requests with Python
322 HTTP START HERE
323 HTTP Introduction and Crash Course
324 HTTP Verbs and APIs
325 Writing Your First Python Request
326 Requesting JSON with Python
327 Sending Requests with Params
328 API Project
329 API Project Solution

Object Oriented Programming
330 Section Introduction and Objectives
331 Underscores Dunder Methods, Name Mangling, and More!
332 Adding Instance Methods
333 Bank Account OOP Exercise
334 SOLUTION
335 Introducing Class Attributes
336 Class Attributes Continued
337 Chicken Coop Exercise
338 SOLUTION
339 Class Methods
340 A More Advanced Class Method Example
341 Defining Classes and Objects
342 The repr method
343 OOP Part 1
344 Abstraction and Encapsulation
345 Creating Classes and Instances
346 World’s Simplest Class Exercise
347 SOLUTION
348 The init method
349 Your First Class – Social Media Comments
350 SOLUTION

Deck Of Cards Exercise
351 Deck Of Cards Intro Video
352 Deck of Cards Exercise Introduction Text
353 Deck of Cards Tests
354 SOLUTION
355 Deck of Cards Solution Card Class
356 Deck of Cards Solution Deck Class

OOP Part 2
357 Inheritance and Objectives
358 SOLUTION
359 Polymorphism Introduction
360 Special magic methods
361 Making a Grumpy Dictionary – Overriding Dict
362 Special Methods Train
363 SOLUTION
364 OOP Part 2
365 All About Properties
366 Introduction to Super()
367 Inheritance Example User and Moderator
368 Roleplaying Game Classes
369 SOLUTION
370 The Crazy World of Multiple Inheritance
371 WTF is Method Resolution Order(MRO)
372 MRO Genetics

Iterators & Generators
373 Section Introduction and Objectives
374 yes or no
375 SOLUTION
376 Writing a Beat Making Generator
377 Generators Quiz
378 make song
379 SOLUTION
380 Testing Memory Usage With Generators
381 get multiples
382 SOLUTION
383 get unlimited multiples
384 Iterators vs. Iterables!!
385 SOLUTION
386 Generator Expressions AND Speed Testing!
387 Writing Our Own Version of for loops
388 Writing a Custom Iterator
389 Iterators Quiz
390 Making our Deck class Iterable
391 Introduction to Generators
392 Week Generator Exercise
393 SOLUTION

Decorators
394 Higher Order Functions
395 double return
396 SOLUTION
397 ensure fewer than three args
398 SOLUTION
399 only ints
400 SOLUTION
401 ensure authorized
402 SOLUTION
403 Writing an ensure first arg is Decorator
404 Enforcing Argument Types With A Decorator
405 Introduction to Decorators
406 delay
407 SOLUTION
408 Decorators With Different Signatures
409 Using Wraps To Preserve Metadata
410 Decorators Quiz
411 Building A Speed-Test Decorator
412 show args
413 SOLUTION
414 Another Example Ensuring Args With A Decorator

Testing With Python
415 Section Introduction
416 Testing CardDeck Exercise
417 Testing CardDeck Exercise Intro
418 Testing CardDeck Solution
419 Why Test
420 Assertions
421 Assertions Quiz
422 Doctests
423 Doctests Exercise
424 Introduction to Unittest
425 Other Types of Assertions
426 Before and after hooks

File IO
427 Section Introduction
428 copy and reverse
429 SOLUTION
430 statistics
431 SOLUTION
432 find and replace
433 SOLUTION
434 Reading Text Files Open and Read
435 Reading Files Seek and Cursors
436 The With Statement
437 Writing to Text Files
438 File Modes
439 Text Reading Quiz
440 copy
441 SOLUTION

Working With CSV and Pickling!
442 Reading CSV Files
443 SOLUTION
444 Pickling Time!
445 Extra Fancy JSON Pickling
446 update users
447 SOLUTION
448 delete users
449 SOLUTION
450 Writing to CSV Files Writer
451 Writing to CSV Files DictWriter
452 CSV Quiz
453 add user
454 SOLUTION
455 print users
456 SOLUTION
457 find user

Web Scraping with BeautifulSoup
458 Introduction to Web Scraping
459 Is Scraping…OK
460 Optional HTMLCSS Crash Course
461 Selecting with BeautifulSoup find()
462 Selecting With BeautifulSoup CSS Style Selectors
463 Accessing Data with Beautiful Soup
464 Navigating With BeautifulSoup
465 Our First Scraping Program

Web Scraping Project
466 Quote Scraping Project Intro
467 Scraping Project
468 Quote Scraping Project Part 1
469 Quote Scraping Project The Game Logic
470 Quote Scraping Project Refactoring
471 Quote Scraping Project Adding CSV
472 Creating A Web Crawler with Scrapy

Regular Expressions
473 Intro To Regular Expressions
474 Regex Basics Logical Or and Capture Groups
475 Final Regex Quiz
476 Introduction to the RE Module
477 Validating Phone Numbers With Python
478 Time Validating
479 SOLUTION
480 Parsing URLs with Python
481 Parsing Bytes Exericse
482 SOLUTION
483 Symbolic Group Names
484 Writing Basic Regex
485 Date Parsing Exercise
486 SOLUTION
487 Regex Compilation Flags
488 Regex Substitution Basics
489 Regex Profanity Filter
490 SOLUTION
491 Swapping File Names
492 Regex Quiz
493 Regex Basics Quantifiers
494 Quick Quantifiers Quiz
495 Regex Basics Character Classes and Sets
496 Character Class Quiz
497 Regex Basics Anchors and Boundaries
498 Quick Anchors and Boundaries Quiz

Python + SQL
499 Intro to Section
500 SQL INJECTION!
501 Scraping to a Database Pt. 1
502 Scraping to a Database Pt. 2
503 Installing SQLite3
504 SQL Basics Creating Tables
505 SQL Basics Inserting
506 SQL Basics Selecting
507 Connecting to a DB With Python
508 Inserting With Python
509 Bulk Inserts With Python
510 Selecting With Python

Massive Section of Challenges!
511 reverse string
512 repeat
513 truncate
514 SOLUTIONS Part 2
515 two list dictionary
516 range in list
517 same frequency
518 nth
519 find the duplicate
520 SOLUTIONS Part 3
521 sum up diagonals
522 list check
523 min max key in dictionary
524 find greater numbers
525 two oldest
526 is odd string
527 SOLUTIONS Part 4
528 valid parentheses
529 reverse vowels
530 three odd numbers
531 mode
532 SOLUTION mode
533 remove every other
534 running average
535 SOLUTIONS Part 5
536 letter counter
537 once
538 Next Prime Generator
539 SOLUTIONS Part 6
540 sum pairs
541 vowel count
542 SOLUTIONS Part 1
543 Titleize
544 find factors
545 includes

Course Introduction
1 Course Introduction
2 Python3 vs. Python2
3 How The Exercises Work
4 Where Should You Start
5 How The Course is Structured

MACLINUX Command Line Fundamentals
6 Why Use The Command Line
7 Moving and Renaming with MV
8 Deleting Files with RM
9 Deleting Directories (Plus Tangents on Permissions and MAN Pages)
10 Command Line Installation MAC
11 Absolute Paths and PWD
12 Using CD
13 Using LS
14 Making Directories with MKDIR
15 Creating Files with TOUCH
16 Quick Activity Salamanders and Frogs

WINDOWS Command Line Fundamentals
17 Why Do You Need The Command Line
18 Using Powershell
19 Paths, LS, and PWD
20 Using The CD Command
21 OPTIONAL Making Directories with MKDIR
22 OPTIONAL Making Files (it’s…complicated)
23 OPTIONAL Removing Files and Folders with RM

MAC Python Setup
24 Installing Python MAC
25 Optional Installing Sublime Text
26 Our First Python Program!
27 Important Note on Print and the Python Interpreter

WINDOWS Python Setup
28 Installing Python On a PC
29 Introducing Sublime Text
30 Your First Python Program
31 Important Note on Print and the Python Interpreter

Numbers, Operators, and Comments
32 Section IntroductionObjectives
33 Introduction to the Python Documentation
34 Numbers Ints and Floats
35 Numbers Basic Math
36 Quick Note Comments
37 Numbers Weirder Operators

Variables and Strings
38 Variables and Data Types
39 Double Vs. Single Quotes
40 String Escape Sequences
41 String Concatenation
42 String Formatting
43 Introduction to Variables
44 IMPORTANT Interpolation w Udemy Exercises
45 Strings and Indexes (Indicies)
46 Converting Data Types
47 Building a Mileage Convertor With User Input
48 Variable Naming Restrictions and Conventions
49 Data Types Overview
50 What The Heck is Dynamic Typing
51 The Special Value NONE

Boolean and Conditional Logic
52 Section Introduction and Objectives
53 The Joy of Comparison Operators
54 Logical AND & OR
55 LOGICAL NOT
56 A Note on Is Vs. ==
57 Bouncer Code-Along and Nested Conditionals
58 Getting User Input
59 Intro to Conditionals
60 Multiple Elifs
61 A Word on Truthiness + A Quick Example

Rock, Paper, Scissors
62 Rock, Paper, Scissor Mini Project BASIC Version
63 RPS Mini Project BASIC Version Solution
64 RPS Mini Project Refactoring Time
65 RPS Mini Project Playing Against The Computer
66 RPS Mini Project Computer AI Solution

Looping in Python
67 Section Introduction
68 Introducing While Loops
69 EXERCISE Emoji Art
70 EXERCISE Stop Copying Me
71 The Break Keyword
72 The Basics of For Loops
73 Exploring Ranges In Depth
74 EXERCISE Screaming Repeating
75 EXERCISE Unlucky Numbers

Guessing Game
76 Guessing Game Mini Project
77 Guessing Game Solution
78 Improving Rock Paper Scissors
79 SIDE NOTE Python Style and PEP8

Lists
80 Intro to Lists and Objectives
81 List Methods Append, Insert, and Extend
82 List Methods Clear, Pop, and Remove,
83 List Methods Index, Count, Sort, Reverse, and Join
84 Slices
85 Creating Lists
86 Swapping Values in Lists
87 Accessing Data in Lists
88 Iterating Over Lists

Lists Comprehensions
89 List Comprehension
90 Nested Lists
91 Lists Recap
92 List Comprehension With Conditional Logic

Dictionaries
93 Intro To Dictionaries Creating Dictionaries
94 Using In With Dictionaries
95 Dictionary Methods Clear, Copy, Fromkeys, and Get
96 Dictionary Methods Pop, Popitems, and Update
97 Spotify Playlist Example
98 Dictionary Comprehension
99 Accessing Data in Dictionaries
100 Iterating Dictionaries

Dictionary Exercises

Tuples and Sets
101 Section Introduction
102 Tuple Looping and Methods
103 Introduction to Sets
104 Set Methods and Set Math
105 Set Comprehension and Recap

Functions Part I
106 Introduction to Defining Functions
107 Parameters
108 Common Mistakes When Returning
109 Default parameters
110 Defining Functions
111 Keyword Arguments
112 Scope
113 Docstrings and Functions Recap – WE DID IT!
114 The Magical Return Keyword
115 Writing a coin flip Function Using Random

Functions Exercises

Functions Part II
116 Introduction and args
117 Dictionary unpacking
118 kwargs
119 Ordering Parameters
120 Tuple unpacking

Lambdas and Built-In Functions
121 Lambdas
122 Any and All
123 Generator Expressions and Using sys.getsizeof
124 Sorted
125 Min and Max
126 Reversed
127 Len() and a Special Sneak Peak of OOP!
128 Abs(), Sum(), and Round()
129 Zip Basics
130 More Complex Zip Examples
131 Map
132 Filter

Debugging and Error Handling
133 Section Introduction
134 Common Types of Errors in Python
135 Raising Our Own Errors
136 Try and Except Blocks
137 Try, Except, Else, and Finally!
138 Debugging With PDB

Modules
139 Section Introduction
140 Installing External Modules And TermColor
141 ASCII Art Exercise
142 Using The autopep8 Package to Clean Up Code
143 The Mysterious name variable
144 Working With Built-In Modules
145 Custom modules

OPTIONAL SECTION Making HTTP Requests with Python
146 HTTP START HERE
147 HTTP Introduction and Crash Course
148 HTTP Verbs and APIs
149 Writing Your First Python Request
150 Requesting JSON with Python
151 Sending Requests with Params
152 API Project
153 API Project Solution

Object Oriented Programming
154 Section Introduction and Objectives
155 Underscores Dunder Methods, Name Mangling, and More!
156 Adding Instance Methods
157 Introducing Class Attributes
158 Class Attributes Continued
159 Class Methods
160 A More Advanced Class Method Example
161 Defining Classes and Objects
162 The repr method
163 Abstraction and Encapsulation
164 Creating Classes and Instances
165 The init method

Deck Of Cards Exercise
166 Deck Of Cards Intro Video
167 Deck of Cards Solution Card Class
168 Deck of Cards Solution Deck Class

OOP Part 2
169 Inheritance and Objectives
170 Polymorphism Introduction
171 Special magic methods
172 Making a Grumpy Dictionary – Overriding Dict
173 All About Properties
174 Introduction to Super()
175 Inheritance Example User and Moderator
176 The Crazy World of Multiple Inheritance
177 WTF is Method Resolution Order(MRO)

Iterators & Generators
178 Section Introduction and Objectives
179 Writing a Beat Making Generator
180 Testing Memory Usage With Generators
181 Iterators vs. Iterables!!
182 Generator Expressions AND Speed Testing!
183 Writing Our Own Version of for loops
184 Writing a Custom Iterator
185 Making our Deck class Iterable
186 Introduction to Generators

Decorators
187 Higher Order Functions
188 Writing an ensure first arg is Decorator
189 Enforcing Argument Types With A Decorator
190 Introduction to Decorators
191 Decorators With Different Signatures
192 Using Wraps To Preserve Metadata
193 Building A Speed-Test Decorator
194 Another Example Ensuring Args With A Decorator

Testing With Python
195 Section Introduction
196 Testing CardDeck Exercise Intro
197 Testing CardDeck Solution
198 Why Test
199 Assertions
200 Doctests
201 Introduction to Unittest
202 Other Types of Assertions
203 Before and after hooks

File IO
204 Section Introduction
205 Reading Text Files Open and Read
206 Reading Files Seek and Cursors
207 The With Statement
208 Writing to Text Files
209 File Modes

Working With CSV and Pickling!
210 Reading CSV Files
211 Pickling Time!
212 Extra Fancy JSON Pickling
213 Writing to CSV Files Writer
214 Writing to CSV Files DictWriter

Web Scraping with BeautifulSoup
215 Introduction to Web Scraping
216 Is Scraping…OK
217 Optional HTMLCSS Crash Course
218 Selecting with BeautifulSoup find()
219 Selecting With BeautifulSoup CSS Style Selectors
220 Accessing Data with Beautiful Soup
221 Navigating With BeautifulSoup
222 Our First Scraping Program

Web Scraping Project
223 Quote Scraping Project Intro
224 Quote Scraping Project Part 1
225 Quote Scraping Project The Game Logic
226 Quote Scraping Project Refactoring
227 Quote Scraping Project Adding CSV
228 Creating A Web Crawler with Scrapy

Regular Expressions
229 Intro To Regular Expressions
230 Regex Basics Logical Or and Capture Groups
231 Introduction to the RE Module
232 Validating Phone Numbers With Python
233 Parsing URLs with Python
234 Symbolic Group Names
235 Writing Basic Regex
236 Regex Compilation Flags
237 Regex Substitution Basics
238 Swapping File Names
239 Regex Basics Quantifiers
240 Regex Basics Character Classes and Sets
241 Regex Basics Anchors and Boundaries

Python + SQL
242 Intro to Section
243 SQL INJECTION!
244 Scraping to a Database Pt. 1
245 Scraping to a Database Pt. 2
246 Installing SQLite3
247 SQL Basics Creating Tables
248 SQL Basics Inserting
249 SQL Basics Selecting
250 Connecting to a DB With Python
251 Inserting With Python
252 Bulk Inserts With Python
253 Selecting With Python

Massive Section of Challenges!

Course Introduction
1 Course Introduction
2 Python3 vs. Python2
3 How The Exercises Work
4 Where Should You Start?
5 How The Course is Structured

MAC/LINUX Command Line Fundamentals
6 Why Use The Command Line?
7 Command Line Installation: MAC
8 Absolute Paths and PWD
9 Using CD
10 Using LS
11 Making Directories with MKDIR
12 Creating Files with TOUCH
13 Quick Activity: Salamanders and Frogs
14 Moving and Renaming with MV
15 Deleting Files with RM
16 Deleting Directories (Plus Tangents on Permissions and MAN Pages)

WINDOWS Command Line Fundamentals
17 Why Do You Need The Command Line?
18 Using Powershell
19 Paths, LS, and PWD
20 Using The CD Command
21 OPTIONAL: Making Directories with MKDIR
22 OPTIONAL: Making Files (it’s…complicated)
23 Creating a Touch Function
24 OPTIONAL: Removing Files and Folders with RM

MAC Python Setup
25 Installing Python: MAC
26 Optional: Installing Sublime Text
27 Our First Python Program!
28 SOLUTION
29 Important Note on Print and the Python Interpreter

WINDOWS Python Setup
30 Installing Python On a PC
31 Introducing Sublime Text
32 Your First Python Program
33 SOLUTION
34 Important Note on Print and the Python Interpreter

Numbers, Operators, and Comments
35 Section Introduction/Objectives
36 Numbers: Ints and Floats
37 Numbers: Basic Math
38 Quick Note: Comments
39 Numbers: Weirder Operators
40 Introduction to the Python Documentation

Variables and Strings
41 Variables and Data Types
42 Introduction to Variables
43 SOLUTION
44 Variable Naming Restrictions and Conventions
45 Data Types Overview
46 What The Heck is Dynamic Typing
47 The Special Value NONE
48 Double Vs. Single Quotes
49 SOLUTION
50 String Escape Sequences
51 SOLUTION
52 String Concatenation
53 SOLUTION
54 String Formatting
55 IMPORTANT: Interpolation w/ Udemy Exercises
56 SOLUTION
57 Strings and Indexes (Indicies?)
58 Converting Data Types
59 Building a Mileage Convertor With User Input

Boolean and Conditional Logic
60 Section Introduction and Objectives
61 Getting User Input
62 Intro to Conditionals
63 SOLUTION
64 SOLUTION
65 Multiple Elifs
66 A Word on Truthiness A Quick Example
67 The Joy of Comparison Operators
68 Logical AND & OR
69 SOLUTION
70 LOGICAL NOT
71 A Note on Is Vs. ==
72 Bouncer Code-Along and Nested Conditionals
73 SOLUTION
74 SOLUTION

Rock, Paper, Scissors
75 Rock, Paper, Scissor Mini Project: BASIC Version
76 RPS Mini Project: BASIC Version Solution
77 RPS Mini Project: Refactoring Time
78 Another Cleaner RPS Solution
79 RPS Mini Project: Playing Against The Computer
80 RPS Mini Project: Computer AI Solution

Looping in Python
81 Section Introduction
82 IMPORTANT ANNOUNCEMENT ON LOOPS EXERCISES
83 The Basics of For Loops
84 Exploring Ranges In Depth
85 SOLUTION
86 EXERCISE: Screaming Repeating
87 EXERCISE: Unlucky Numbers
88 Introducing While Loops
89 EXERCISE: Emoji Art
90 EXERCISE: Stop Copying Me
91 The Break Keyword
92 SOLUTION

Guessing Game
93 Guessing Game Mini Project
94 Guessing Game Solution
95 Improving Rock Paper Scissors
96 SIDE NOTE: Python Style and PEP8

Lists
97 Intro to Lists and Objectives
98 Creating Lists
99 SOLUTION
100 Accessing Data in Lists
101 SOLUTION
102 Iterating Over Lists
103 SOLUTION
104 List Methods: Append, Insert, and Extend
105 SOLUTION
106 List Methods: Clear, Pop, and Remove,
107 List Methods: Index, Count, Sort, Reverse, and Join
108 SOLUTION
109 Slices
110 Swapping Values in Lists

Lists Comprehensions
111 List Comprehension
112 List Comprehension With Conditional Logic
113 SOLUTION
114 SOLUTION
115 SOLUTION
116 SOLUTION
117 Nested Lists
118 SOLUTION
119 SOLUTION
120 Lists Recap

Dictionaries
121 Intro To Dictionaries: Creating Dictionaries
122 SOLUTION
123 Accessing Data in Dictionaries
124 SOLUTION
125 Iterating Dictionaries
126 SOLUTION
127 Using In With Dictionaries
128 Dictionary Methods: Clear, Copy, Fromkeys, and Get
129 SOLUTION
130 SOLUTION
131 Dictionary Methods: Pop, Popitems, and Update
132 SOLUTION
133 Spotify Playlist Example
134 Dictionary Comprehension

Dictionary Exercises
135 SOLUTION
136 SOLUTION
137 SOLUTION
138 SOLUTION

Tuples and Sets
139 Section Introduction
140 Tuple Looping and Methods
141 Introduction to Sets
142 Set Methods and Set Math
143 SOLUTION
144 Set Comprehension and Recap

Functions Part I
145 Introduction to Defining Functions
146 Defining Functions
147 SOLUTION
148 The Magical Return Keyword
149 Writing a coin_flip Function Using Random
150 SOLUTION
151 SOLUTION
152 Parameters
153 SOLUTION
154 Common Mistakes When Returning
155 SOLUTION
156 Default parameters
157 SOLUTION
158 Keyword Arguments
159 Scope
160 Docstrings and Functions Recap – WE DID IT!

Functions Exercises
161 SOLUTION
162 SOLUTION
163 SOLUTION
164 SOLUTION
165 SOLUTION
166 SOLUTION
167 SOLUTION
168 SOLUTION
169 SOLUTION
170 SOLUTION
171 SOLUTION
172 SOLUTION
173 SOLUTION
174 SOLUTION

Functions Part II
175 Introduction and *args
176 SOLUTION
177 **kwargs
178 SOLUTION
179 Ordering Parameters
180 Tuple unpacking
181 SOLUTION
182 Dictionary unpacking
183 SOLUTION

Lambdas and Built-In Functions
184 Lambdas
185 SOLUTION
186 Map
187 SOLUTION
188 Filter
189 SOLUTION
190 Any and All
191 Generator Expressions and Using sys.getsizeof
192 SOLUTION
193 Sorted
194 Min and Max
195 SOLUTION
196 Reversed
197 Len() and a Special Sneak Peak of OOP!
198 Abs(), Sum(), and Round()
199 SOLUTION
200 SOLUTION
201 SOLUTION
202 Zip Basics
203 More Complex Zip Examples
204 SOLUTION
205 SOLUTION
206 SOLUTION

Debugging and Error Handling
207 Section Introduction
208 Common Types of Errors in Python
209 Raising Our Own Errors
210 Try and Except Blocks
211 Try, Except, Else, and Finally!
212 Debugging With PDB
213 SOLUTION

Modules
214 Section Introduction
215 Working With Built-In Modules
216 SOLUTION
217 SOLUTION
218 Custom modules
219 SOLUTION
220 Installing External Modules And TermColor
221 ASCII Art Exercise
222 Using The autopep8 Package to Clean Up Code
223 The Mysterious __name__ variable

OPTIONAL SECTION: Making HTTP Requests with Python
224 HTTP: START HERE
225 HTTP Introduction and Crash Course
226 HTTP Verbs and APIs
227 Writing Your First Python Request
228 Requesting JSON with Python
229 Sending Requests with Params
230 API Project
231 API Project Solution

Object Oriented Programming
232 Section Introduction and Objectives
233 Defining Classes and Objects
234 Abstraction and Encapsulation
235 Creating Classes and Instances
236 SOLUTION
237 The __init__ method
238 SOLUTION
239 Underscores: Dunder Methods, Name Mangling, and More!
240 Adding Instance Methods
241 SOLUTION
242 Introducing Class Attributes
243 Class Attributes Continued
244 SOLUTION
245 Class Methods
246 A More Advanced Class Method Example
247 The __repr__ method

Deck Of Cards Exercise
248 Deck Of Cards Intro Video
249 Deck of Cards Exercise Introduction Text
250 SOLUTION
251 Deck of Cards Solution: Card Class
252 Deck of Cards Solution: Deck Class

OOP Part 2
253 Inheritance and Objectives
254 All About Properties
255 Introduction to Super()
256 Inheritance Example: User and Moderator
257 SOLUTION
258 The Crazy World of Multiple Inheritance
259 WTF is Method Resolution Order(MRO)
260 SOLUTION
261 Polymorphism Introduction
262 Special __magic__ methods
263 Making a Grumpy Dictionary – Overriding Dict
264 SOLUTION

Iterators & Generators
265 Section Introduction and Objectives
266 Iterators vs. Iterables?!?!?
267 Writing Our Own Version of for loops
268 Writing a Custom Iterator
269 Making our Deck class Iterable
270 Introduction to Generators
271 SOLUTION
272 SOLUTION
273 Writing a Beat Making Generator
274 SOLUTION
275 Testing Memory Usage With Generators
276 SOLUTION
277 SOLUTION
278 Generator Expressions AND Speed Testing!

Decorators
279 Higher Order Functions
280 Introduction to Decorators
281 Decorators With Different Signatures
282 Using Wraps To Preserve Metadata
283 Building A Speed-Test Decorator
284 SOLUTION
285 Another Example: Ensuring Args With A Decorator
286 SOLUTION
287 SOLUTION
288 SOLUTION
289 SOLUTION
290 Writing an ensure_first_arg_is Decorator
291 Enforcing Argument Types With A Decorator
292 SOLUTION

Testing With Python
293 Section Introduction
294 Why Test?
295 Assertions
296 Doctests
297 Doctests Exercise
298 Introduction to Unittest
299 Other Types of Assertions
300 Before and after hooks
301 Testing Card/Deck Exercise
302 Testing Card/Deck Exercise Intro
303 Testing Card/Deck Solution

File IO
304 Section Introduction
305 Reading Text Files: Open and Read
306 Reading Files: Seek and Cursors
307 The With Statement
308 Writing to Text Files
309 File Modes
310 SOLUTION
311 SOLUTION
312 SOLUTION
313 SOLUTION

Working With CSV and Pickling!
314 Reading CSV Files
315 Writing to CSV Files: Writer
316 Writing to CSV Files: DictWriter
317 SOLUTION
318 SOLUTION
319 SOLUTION
320 Pickling Time!
321 Extra Fancy JSON Pickling
322 SOLUTION
323 SOLUTION

Web Scraping with BeautifulSoup
324 Introduction to Web Scraping
325 Is Scraping…OK?
326 Optional HTML/CSS Crash Course
327 Selecting with BeautifulSoup: find()
328 Selecting With BeautifulSoup: CSS Style Selectors
329 Accessing Data with Beautiful Soup
330 Navigating With BeautifulSoup
331 Our First Scraping Program

Web Scraping Project
332 Quote Scraping Project: Intro
333 Scraping Project
334 Quote Scraping Project: Part 1
335 Quote Scraping Project: The Game Logic
336 Quote Scraping Project: Refactoring
337 Quote Scraping Project: Adding CSV
338 Creating A Web Crawler with Scrapy

Regular Expressions
339 Intro To Regular Expressions
340 Writing Basic Regex
341 Regex Basics: Quantifiers
342 Regex Basics: Character Classes and Sets
343 Regex Basics: Anchors and Boundaries
344 Regex Basics: Logical Or and Capture Groups
345 Introduction to the RE Module
346 Validating Phone Numbers With Python
347 SOLUTION
348 Parsing URLs with Python
349 SOLUTION
350 Symbolic Group Names
351 SOLUTION
352 Regex Compilation Flags
353 Regex Substitution Basics
354 SOLUTION
355 Swapping File Names

Python SQL
356 Intro to Section
357 Installing SQLite3
358 SQL Basic:s: Creating Tables
359 SQL Basics: Inserting
360 SQL Basics: Selecting
361 Connecting to a DB With Python
362 Inserting With Python
363 Bulk Inserts With Python
364 Selecting With Python
365 SQL INJECTION!
366 Scraping to a Database Pt. 1
367 Scraping to a Database Pt. 2

Massive Section of Challenges!
368 SOLUTIONS Part 1
369 SOLUTIONS Part 2
370 SOLUTIONS Part 3
371 SOLUTIONS Part 4
372 SOLUTION: mode
373 SOLUTIONS Part 5
374 SOLUTIONS Part 6