Autoplay
Autocomplete
Previous Lesson
Complete and Continue
The Complete Python Course | Learn Python by Doing in 2024
Intro to Python
Overview of the course curriculum (2:48)
Our Python coding environment (2:28)
Writing our first code! Variables and printing (4:05)
Community & Support (6:00)
Numbers in Python (3:10)
Calculating the remainder of a division (4:09)
Python strings (6:57)
Python string formatting (7:08)
Getting user input in Python (8:07)
Booleans and comparisons in Python (4:26)
and & or in Python (9:20)
Lists in Python (8:05)
Tuples in Python (5:29)
Sets in Python (2:45)
Advanced set operations (4:51)
Python dictionaries (7:46)
Length and sum (2:47)
Joining a list (2:04)
Conclusion and Python Fundamentals Cheatsheets
Python fundamentals
If statements in Python (12:21)
While loops in Python (6:14)
For loops in Python (7:27)
Destructuring syntax (3:19)
Iterating over dictionaries (2:29)
Break and continue (4:11)
A couple more loop examples
The else keyword with loops (3:48)
Finding prime numbers with for loops (5:35)
List slicing in Python (4:02)
List comprehension in Python (9:02)
Comprehensions with conditionals (6:16)
Set and dictionary comprehensions (5:07)
The zip function (2:42)
The enumerate function (4:43)
Functions in Python (4:10)
Arguments and parameters (10:15)
Functions and return values in Python (9:25)
Default parameter values (7:26)
Lambda functions in Python (6:08)
First-class functions in Python (10:19)
Conclusion and Cheatsheets for this section
Milestone Project 1
Code for this section
Installing Python in your computer (2:18)
Installing PyCharm in your computer (2:56)
Creating our first PyCharm project (5:45)
Setting up PyCharm font and display settings (2:43)
Milestone Project Brief (7:27)
Milestone Project Implementation Video (11:33)
Object-Oriented Programming with Python
Intro to Object-Oriented Programming with Python (17:02)
More about classes and objects (9:17)
So... sum(), int(), str(), len(), what else is there?
Parameter naming in Python (3:54)
Magic methods in Python (12:57)
Inheritance in Python (8:45)
The @property decorator (4:19)
@classmethod and @staticmethod in Python (7:27)
More @classmethod and @staticmethod examples (12:06)
Errors in Python
Code samples for this section
Intro to errors in Python (13:13)
Built in errors in Python (17:58)
Raising errors in Python (10:58)
Creating our own errors in Python (13:42)
Dealing with Python errors (9:00)
The on success block and re-raising exceptions (11:21)
Handling those pesky user errors! (11:18)
Debugging with Pycharm (16:37)
Further reading
Files in Python
Code for this section
Files in Python (10:55)
Python Exercise: copying files (20:38)
CSV files with Python (9:35)
How to use the csv module to read and write CSV files more easily
JSON files with Python (17:33)
Using the with syntax in Python (5:01)
Importing our own files (10:28)
Python relative imports: children (15:18)
Python relative imports: parents (5:44)
Import errors and running as a Python script (5:26)
Further reading
Databases in Python & Milestone Project 2
Code for this section
Intro to Milestone Project 2 (5:53)
Milestone Project 2 Brief
Milestone Project with lists (17:52)
Storing books in files (19:30)
Using JSON instead of CSV (9:58)
Intro to databases with Python (7:03)
Using SQLite in Python (2:37)
Some database jargon (4:08)
Creating our books table using Python (5:49)
Inserting books using Python (6:19)
SELECT examples (3:12)
Getting all our books (6:30)
UPDATE and DELETE (2:14)
Filtering with WHERE (4:59)
Finishing the Milestone Project (7:46)
Ordering and limiting (2:37)
Developing our context manager in Python (10:11)
Errors in context managers (6:55)
Further reading
Type hinting in Python
Typing in Python (12:10)
Further reading (1:44)
Advanced built-in functions in Python
Generators in Python (12:39)
Python generator classes and iterators (8:15)
Iterables in Python (7:48)
The filter() function in Python (8:43)
The map() function in Python (5:39)
any() and all() in Python (4:59)
So what other things evaluate to True or False?
Further reading
Advanced Python Development
Mutability in Python (11:49)
Argument mutability in Python (12:16)
Default values for parameters (5:03)
Mutable default arguments (bad idea) (6:38)
Argument unpacking in Python (11:16)
Queues in Python (3:20)
Some interesting Python collections (25:55)
Timezones (8:46)
Dates and time in Python (12:46)
Timing your code with Python (12:32)
Regular expressions (8:28)
Regex examples (13:36)
Regex in Python (13:07)
Introduction to logging in Python (10:35)
Logging to a file and other features (4:16)
Higher-order functions in Python (9:37)
The built-in itertools module
Further reading
Web Scraping with Python
Code for this session
Markup Languages: The Structure of HTML Code (7:32)
Understanding HTML with BeautifulSoup (18:44)
More complex HTML parsing (22:18)
Structuring our parsing program better (5:40)
Splitting HTML locators out of our Python class (4:03)
Understanding HTML with the browser (6:35)
Scraping our first website with Python (6:42)
Milestone Project 3: A Quote Scraper (4:13)
Quotes Project 2: Structuring a scraping app in Python (2:41)
Quotes Project 3: Getting our locators (5:09)
Quotes Project 4: Crafting our quote parser (4:51)
Quotes Project 5: The quotes page (4:30)
Quotes Project 6: Recap of the project (3:54)
Milestone Project 4: A Book Scraper + application (5:01)
Books Project 2: Recap of HTML locators (4:53)
Books Project 3: Creating locators in Python (4:26)
Books Project 4: Creating our page (3:27)
Books Project 5: Creating our book parser (11:01)
Books Project 6: Writing our app file (3:55)
Books Project 7: Sorting the books (8:50)
Books Project 8: Constructing our menu (6:02)
ASIDE: The best way to write user menus (1:28)
Books Project 9: Getting multiple pages (2:37)
Books Project 10: Multiple pages in Python (5:26)
Books Project 11: Getting the page count in Python (6:33)
Books Project 12: Adding logging to our Python project (20:28)
A word on scraping pages with JavaScript (3:14)
A note on scraping and robots.txt
Browser automation with Selenium
Introduction to this section (1:38)
Code for this section
Review of our quotes scraping code (5:01)
Downloading chromedriver (2:00)
IMPORTANT: Selenium update
Using Chrome in our scraping code (6:26)
Our new page locators (3:44)
Interacting with dropdowns (4:07)
Selecting tags (5:17)
Searching for quotes (2:17)
Encapsulating logic more simply (5:03)
Adding some error handling (1:39)
Implicit and explicit waits in Selenium (6:49)
Adding waits to our program code (7:04)
Asynchronous Python Development
Code samples for this section
A glossary of terms used in concurrency
The Dining Philosophers Problem (7:38)
Processes and threads (9:24)
The Python GIL (10:30)
Example: threads in Python (12:40)
Using Python concurrent.futures: the ThreadPoolExecutor (3:08)
Don't kill threads! (1:48)
Multiprocessing in Windows or ARM Macs
Multiprocessing in Python (7:24)
Using Python concurrent.futures: the ProcessPoolExecutor (2:15)
Dealing with shared state in threads (8:31)
Queuing in threads with shared state (12:25)
Using Python generators instead of threads (4:50)
Our first single-threaded task scheduler in Python (6:04)
Yielding from another iterator in Python (5:36)
Receiving data through yield (9:34)
The async and await keywords (6:10)
Watch these talks for more explanations and examples! (1:52)
Our asynchronous scraper (4:42)
Making our first async request in Python (14:49)
Getting multiple pages efficiently (10:23)
Using async_timeout for security (1:46)
Turning our book scraping project async (10:16)
A note on HTTPS with Python and Mac OS X (3:12)
Python on the console and managing project dependencies
Running Python in the console (8:49)
Terminal video: running Python (5:50)
Terminal video: what is a virtualenv? (10:43)
Terminal video: navigating the terminal and using virtualenv (9:49)
Terminal video: using Pipenv (9:38)
Web development with Flask
Setting up our project with Pipenv (5:42)
Using JSON instead of CSV
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock