The Modern Python 3 Bootcamp

The Modern Python 3 Bootcamp

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 376 lectures (30h 17m) | 7.37 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

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 Note About The List Comprehension Slides
112 List Comprehension
113 List Comprehension With Conditional Logic
114 SOLUTION
115 SOLUTION
116 SOLUTION
117 SOLUTION
118 Nested Lists
119 SOLUTION
120 SOLUTION
121 Lists Recap

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

Dictionary Exercises
136 SOLUTION
137 SOLUTION
138 SOLUTION
139 SOLUTION

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

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

Functions Exercises
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
175 SOLUTION

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

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

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

Modules
215 Section Introduction
216 Working With Built-In Modules
217 SOLUTION
218 SOLUTION
219 Custom modules
220 SOLUTION
221 Note about using the termcolor module on Windows
222 Installing External Modules And TermColor
223 ASCII Art Exercise
224 Using The autopep8 Package to Clean Up Code
225 The Mysterious name variable

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

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

Deck Of Cards Exercise
250 Deck Of Cards Intro Video
251 Deck of Cards Exercise Introduction Text
252 SOLUTION
253 Deck of Cards Solution Card Class
254 Deck of Cards Solution Deck Class

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

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

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

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

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

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

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

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

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

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

Massive Section of Challenges
370 SOLUTIONS Part 1
371 SOLUTIONS Part 2
372 SOLUTIONS Part 3
373 SOLUTIONS Part 4
374 SOLUTION mode
375 SOLUTIONS Part 5
376 SOLUTIONS Part 6

Homepage