Python Tutorials

by Corey Schafer · 158 videos

Listed in Best free Python courses on YouTube, ranked by total hours

Total watch time

3d 14h 37m

at speed · exactly 3 days, 14 hours, 37 minutes, 17 seconds at 1×

3d 14h 37m 17s
1.25×2d 21h 17m 50s
1.5×2d 9h 44m 51s
1.75×2d 1h 29m 53s
1d 19h 18m 39s
Average video32m 54s
Longest14h 23m 37s
Shortest2m 3s
Compare Open on YouTube JSON

Plan to finish

About 87 days at an hour a day

Pick a daily pace and the days you'll watch. Ticked videos are skipped.

Days

At one hour a day, every day, this playlist takes about 87 days. Turn on JavaScript to plan around your week.

Videos (158)

3d 14h 37m in total · tick what you've watched

Tick videos you've watched — progress is saved in this browser.

Videos to
Watched
1 Python Tutorial for Beginners 1: Install and Setup for Mac and Windows 15:29 2017-05-17
2 Python Tutorial for Beginners 2: Strings - Working with Textual Data 21:12 2017-05-17
3 Python Tutorial for Beginners 3: Integers and Floats - Working with Numeric Data 11:55 2017-05-17
4 Python Tutorial for Beginners 4: Lists, Tuples, and Sets 29:05 2017-05-17
5 Python Tutorial for Beginners 5: Dictionaries - Working with Key-Value Pairs 9:59 2017-05-17
6 Python Tutorial for Beginners 6: Conditionals and Booleans - If, Else, and Elif Statements 16:28 2017-05-17
7 Python Tutorial for Beginners 7: Loops and Iterations - For/While Loops 10:14 2017-05-17
8 Python Tutorial for Beginners 8: Functions 21:48 2017-05-17
9 Python Tutorial for Beginners 9: Import Modules and Exploring The Standard Library 21:57 2017-05-17
10 Setting up a Python Development Environment in Sublime Text 26:03 2017-02-15
11 Setting up a Python Development Environment in Atom 23:01 2017-02-15
12 Setting up a Python Development Environment in Eclipse 16:35 2015-10-25
13 Python Tutorial: pip - An in-depth look at the package management system 9:06 2015-04-16
14 Python Tutorial: virtualenv and why you should use virtual environments 9:46 2015-04-14
15 Python Tutorial: Anaconda - Installation and Using Conda 11:25 2016-08-10
16 Python Tutorial: How I Manage Multiple Projects, Virtual Environments, and Environment Variables 20:49 2017-09-06
17 Jupyter Notebook Tutorial: Introduction, Setup, and Walkthrough 30:21 2016-09-22
18 Python Tutorial: Variable Scope - Understanding the LEGB rule and global/nonlocal statements 20:59 2016-12-20
19 Python Tutorial: Slicing Lists and Strings 10:44 2015-10-29
20 Python Tutorial: Comprehensions - How they work and why you should be using them 18:29 2015-08-24
21 Python Tutorial: Sorting Lists, Tuples, and Objects 12:08 2015-12-15
22 Python Tutorial: String Formatting - Advanced Operations for Dicts, Lists, Numbers, and Dates 13:53 2016-03-10
23 Python Tutorial: OS Module - Use Underlying Operating System Functionality 19:14 2016-04-06
24 Python Tutorial: Datetime Module - How to work with Dates, Times, Timedeltas, and Timezones 27:49 2016-08-02
25 Python Tutorial: File Objects - Reading and Writing to Files 24:33 2016-04-29
26 Python Tutorial: Automate Parsing and Renaming of Multiple Files 12:34 2015-12-23
27 Python Tutorial: Generate Random Numbers and Data Using the random Module 13:37 2017-08-29
28 Python Tutorial: CSV Module - How to Read, Parse, and Write CSV Files 16:12 2017-08-09
29 Python Tutorial: Real World Example - Parsing Names From a CSV to an HTML List 18:48 2017-07-26
30 Python Tutorial: re Module - How to Write and Match Regular Expressions (Regex) 53:18 2017-10-24
31 Python Tutorial: Using Try/Except Blocks for Error Handling 10:34 2015-11-13
32 Python Tutorial: Duck Typing and Asking Forgiveness, Not Permission (EAFP) 15:23 2016-02-09
33 Python Tutorial: How to Set the Path and Switch Between Different Versions/Executables (Windows) 24:17 2018-07-26
34 Python Tutorial: How to Set the Path and Switch Between Different Versions/Executables (Mac & Linux) 30:44 2018-07-26
35 Python Quick Tip: F-Strings - How to Use Them and Advanced String Formatting 13:43 2018-07-12
36 Python Tutorial: Generators - How to use them and the benefits you receive 11:14 2015-08-17
37 Python Tutorial: Decorators - Dynamically Alter The Functionality Of Your Functions 30:28 2016-04-04
38 Python Tutorial: Decorators With Arguments 6:13 2017-03-27
39 Python Tutorial: Namedtuple - When and why should you use namedtuples? 7:21 2015-07-07
40 Python OOP Tutorial 1: Classes and Instances 15:24 2016-06-20
41 Python OOP Tutorial 2: Class Variables 11:41 2016-06-23
42 Python OOP Tutorial 3: classmethods and staticmethods 15:20 2016-07-11
43 Python OOP Tutorial 4: Inheritance - Creating Subclasses 19:40 2016-07-25
44 Python OOP Tutorial 5: Special (Magic/Dunder) Methods 13:50 2016-08-08
45 Python OOP Tutorial 6: Property Decorators - Getters, Setters, and Deleters 9:33 2016-08-19
46 Python Tutorial: Web Scraping with BeautifulSoup and Requests 45:48 2017-11-08
47 Python Tutorial: Working with JSON Data using the json Module 20:34 2017-11-20
48 Python Tutorial: Calculate Number of Days, Weeks, or Months to Reach Specific Goals 25:07 2018-01-18
49 Python Tutorial: Context Managers - Efficiently Managing Resources 20:37 2017-12-20
50 Python Tutorial: str() vs repr() 7:45 2015-06-15
51 Python SQLite Tutorial: Complete Overview - Creating a Database, Table, and Running Queries 29:49 2017-04-18
52 Python Tutorial: Logging Basics - Logging to Files, Setting Levels, and Formatting 14:25 2017-03-15
53 Python Tutorial: Logging Advanced - Loggers, Handlers, and Formatters 19:47 2017-03-15
54 Python Quick Tip: Hiding Passwords and Secret Keys in Environment Variables (Mac & Linux) 4:32 2018-02-01
55 Python Quick Tip: Hiding Passwords and Secret Keys in Environment Variables (Windows) 4:38 2018-02-01
56 Python Tutorial: if __name__ == '__main__' 8:43 2015-03-23
57 Python Tutorial: Unit Testing Your Code with the unittest Module 39:13 2017-08-16
58 Python Tutorial: Pipenv - Easily Manage Packages and Virtual Environments 32:29 2018-10-17
59 Preparing for a Python Interview: 10 Things You Should Know 22:55 2015-10-11
60 Python Tutorial: Else Clauses on Loops 7:04 2015-07-09
61 Python Tutorial: Image Manipulation with Pillow 15:48 2015-11-17
62 Python Tutorial: Custom Sublime Text Build Systems 7:56 2016-02-18
63 Python: Ex Machina Easter Egg - Hidden Message within the Code 2:03 2015-10-23
64 Python Flask Tutorial: Full-Featured Web App Part 1 - Getting Started 17:09 2018-05-04
65 Python Flask Tutorial: Full-Featured Web App Part 2 - Templates 31:42 2018-05-04
66 Python Flask Tutorial: Full-Featured Web App Part 3 - Forms and User Input 48:16 2018-05-04
67 Python Flask Tutorial: Full-Featured Web App Part 4 - Database with Flask-SQLAlchemy 29:58 2018-05-04
68 Python Flask Tutorial: Full-Featured Web App Part 5 - Package Structure 20:38 2018-05-04
69 Python Flask Tutorial: Full-Featured Web App Part 6 - User Authentication 47:15 2018-05-04
70 Python Flask Tutorial: Full-Featured Web App Part 7 - User Account and Profile Picture 42:15 2018-05-04
71 Python Flask Tutorial: Full-Featured Web App Part 8 - Create, Update, and Delete Posts 48:13 2018-05-04
72 Python Flask Tutorial: Full-Featured Web App Part 9 - Pagination 31:22 2018-05-04
73 Python Flask Tutorial: Full-Featured Web App Part 10 - Email and Password Reset 42:12 2018-05-04
74 Python Flask Tutorial: Full-Featured Web App Part 11 - Blueprints and Configuration 42:43 2018-05-04
75 Python Flask Tutorial: Full-Featured Web App Part 12 - Custom Error Pages 12:45 2018-05-04
76 Python Tutorial: Sets - Set Methods and Operations to Solve Common Problems 18:34 2018-06-20
77 Python Django Tutorial: Full-Featured Web App Part 1 - Getting Started 15:32 2018-08-31
78 Python Django Tutorial: Full-Featured Web App Part 2 - Applications and Routes 20:27 2018-08-31
79 Python Django Tutorial: Full-Featured Web App Part 3 - Templates 45:45 2018-08-31
80 Python Django Tutorial: Full-Featured Web App Part 4 - Admin Page 9:00 2018-08-31
81 Python Django Tutorial: Full-Featured Web App Part 5 - Database and Migrations 38:47 2018-08-31
82 Python Django Tutorial: Full-Featured Web App Part 6 - User Registration 45:56 2018-08-31
83 Python Django Tutorial: Full-Featured Web App Part 7 - Login and Logout System 31:17 2018-08-31
84 Python Django Tutorial: Full-Featured Web App Part 8 - User Profile and Picture 35:41 2018-08-31
85 Python Django Tutorial: Full-Featured Web App Part 9 - Update User Profile 26:07 2018-08-31
86 Python Django Tutorial: Full-Featured Web App Part 10 - Create, Update, and Delete Posts 53:15 2018-08-31
87 Python Django Tutorial: Full-Featured Web App Part 11 - Pagination 37:01 2018-08-31
88 Python Django Tutorial: Full-Featured Web App Part 12 - Email and Password Reset 25:04 2018-08-31
89 Python Django Tutorial: Deploying Your Application (Option #1) - Deploy to a Linux Server 1:22:01 2018-12-13
90 Python Tutorial: Iterators and Iterables - What Are They and How Do They Work? 23:08 2018-10-24
91 Python Coding Problem: Creating Your Own Iterators 13:47 2018-10-24
92 Python Tutorial: Itertools Module - Iterator Functions for Efficient Looping 45:49 2018-11-13
93 Python Flask Tutorial: Deploying Your Application (Option #1) - Deploy to a Linux Server 1:15:00 2018-12-20
94 Python Flask Tutorial: How to Use a Custom Domain Name for Our Application 24:00 2019-01-17
95 Python Django Tutorial: How to Use a Custom Domain Name for Our Application 27:18 2019-01-17
96 Python Flask Tutorial: How to enable HTTPS with a free SSL/TLS Certificate using Let's Encrypt 17:14 2019-01-24
97 Python Django Tutorial: How to enable HTTPS with a free SSL/TLS Certificate using Let's Encrypt 20:47 2019-01-24
98 Python Django Tutorial: Full-Featured Web App Part 13 - Using AWS S3 for File Uploads 26:35 2019-02-18
99 Python Django Tutorial: Deploying Your Application (Option #2) - Deploy using Heroku 53:31 2019-02-19
100 Python Requests Tutorial: Request Web Pages, Download Images, POST Data, Read JSON, and More 25:01 2019-02-26
101 Python Tutorial: Write a Script to Monitor a Website, Send Alert Emails, and Reboot Servers 45:59 2019-03-04
102 Python Tutorial: Web Scraping with Requests-HTML 56:27 2019-03-11
103 How to Send Emails Using Python - Plain Text, Adding Attachments, HTML Emails, and More 31:57 2019-03-18
104 10 Python Tips and Tricks For Writing Better Code 39:21 2019-03-25
105 Python Tutorial: VENV (Mac & Linux) - How to Use Virtual Environments with the Built-In venv Module 14:18 2019-04-02
106 Python Tutorial: VENV (Windows) - How to Use Virtual Environments with the Built-In venv Module 17:10 2019-04-02
107 How to Write Python Scripts to Analyze JSON APIs and Sort Results 48:43 2019-04-09
108 5 Common Python Mistakes and How to Fix Them 29:19 2019-04-22
109 Python Tutorial: Clarifying the Issues with Mutable Default Arguments 16:04 2019-04-24
110 Visual Studio Code (Mac) - Setting up a Python Development Environment and Complete Overview 1:15:44 2019-05-01
111 Visual Studio Code (Windows) - Setting up a Python Development Environment and Complete Overview 1:15:17 2019-05-01
112 Matplotlib Tutorial (Part 1): Creating and Customizing Our First Plots 35:01 2019-06-10
113 Matplotlib Tutorial (Part 2): Bar Charts and Analyzing Data from CSVs 34:26 2019-06-11
114 Matplotlib Tutorial (Part 3): Pie Charts 17:02 2019-06-12
115 Matplotlib Tutorial (Part 4): Stack Plots 14:49 2019-06-13
116 Matplotlib Tutorial (Part 5): Filling Area on Line Plots 15:18 2019-06-14
117 Matplotlib Tutorial (Part 6): Histograms 16:36 2019-06-15
118 Matplotlib Tutorial (Part 7): Scatter Plots 21:24 2019-06-16
119 Matplotlib Tutorial (Part 8): Plotting Time Series Data 17:09 2019-06-17
120 Matplotlib Tutorial (Part 9): Plotting Live Data in Real-Time 20:34 2019-06-18
121 Matplotlib Tutorial (Part 10): Subplots 21:22 2019-06-19
122 Python Tutorial: Calling External Commands Using the Subprocess Module 19:01 2019-07-24
123 Python Quick Tip: The Difference Between "==" and "is" (Equality vs Identity) 8:51 2019-08-06
124 Python Threading Tutorial: Run Code Concurrently Using the Threading Module 36:05 2019-09-12
125 Python Multiprocessing Tutorial: Run Code in Parallel Using the Multiprocessing Module 44:15 2019-09-20
126 Python Data Science Tutorial: Analyzing the 2019 Stack Overflow Developer Survey 51:28 2019-10-17
127 Python Tutorial: Zip Files - Creating and Extracting Zip Archives 27:10 2019-11-19
128 Python Pandas Tutorial (Part 1): Getting Started with Data Analysis - Installation and Loading Data 23:01 2020-01-09
129 Python Pandas Tutorial (Part 2): DataFrame and Series Basics - Selecting Rows and Columns 33:35 2020-01-10
130 Python Pandas Tutorial (Part 3): Indexes - How to Set, Reset, and Use Indexes 17:27 2020-01-13
131 Python Pandas Tutorial (Part 4): Filtering - Using Conditionals to Filter Rows and Columns 23:04 2020-01-17
132 Python Pandas Tutorial (Part 5): Updating Rows and Columns - Modifying Data Within DataFrames 40:03 2020-01-24
133 Python Pandas Tutorial (Part 6): Add/Remove Rows and Columns From DataFrames 16:55 2020-02-01
134 Python Pandas Tutorial (Part 7): Sorting Data 15:40 2020-02-06
135 Python Pandas Tutorial (Part 8): Grouping and Aggregating - Analyzing and Exploring Your Data 49:06 2020-02-14
136 Python Pandas Tutorial (Part 9): Cleaning Data - Casting Datatypes and Handling Missing Values 31:54 2020-02-24
137 Python Pandas Tutorial (Part 10): Working with Dates and Time Series Data 35:41 2020-03-17
138 Python Pandas Tutorial (Part 11): Reading/Writing Data to Different Sources - Excel, JSON, SQL, Etc 32:45 2020-04-01
139 Python Tutorial: Real World Example - Using Patreon API and Pillow to Automate Image Creation 52:33 2020-05-11
140 Python YouTube API Tutorial: Getting Started - Creating an API Key and Querying the API 20:49 2020-05-29
141 Python YouTube API Tutorial: Calculating the Duration of a Playlist 37:38 2020-06-10
142 Python YouTube API Tutorial: Sort a Playlist by Most Popular Videos 22:08 2020-07-31
143 Python YouTube API Tutorial: Using OAuth to Access User Accounts 43:21 2020-09-10
144 Python Tutorial: Simulate the Powerball Lottery Using Python 38:56 2023-01-09
145 How to Use ChatGPT as a Powerful Tool for Programming 31:08 2023-05-21
146 Python Tutorial: Securely Manage Passwords and API Keys with DotEnv 16:58 2024-04-17
147 Automating My Bill Payments with Python and Selenium 1:18:30 2024-06-01
148 Python Tkinter Tutorial (Part 1): Getting Started, Elements, Layouts, and Events 41:08 2024-07-27
149 Python Tutorial: Pathlib - The Modern Way to Handle File Paths 34:51 2024-09-23
150 Python Tutorial: Generate a Web Portfolio and Resume from One JSON File 24:10 2025-03-11
151 I Let Python Pick My March Madness Bracket - Bracket Simulation Tutorial 24:05 2025-03-17
152 Python Tutorial: UV - A Faster, All-in-One Package Manager to Replace Pip and Venv 27:02 2025-04-30
153 Python Tutorial: Ruff - A Fast Linter & Formatter to Replace Multiple Tools and Improve Code Quality 35:47 2025-05-19
154 Python Tutorial: Type Hinting vs Type Checking vs Data Validation - What’s the Difference? 18:16 2025-05-29
155 Python Tutorial: Type Hints - From Basic Annotations to Advanced Generics 40:59 2025-07-17
156 Python Tutorial: AsyncIO - Complete Guide to Asynchronous Programming with Animations 1:42:41 2025-08-20
157 Python Pydantic Tutorial: Complete Data Validation Course (Used by FastAPI) 1:29:25 2025-10-27
158 Python FastAPI Tutorial: Full Course for Beginners - Build a Full-Stack Web App 14:23:37 2026-05-01

Embed a badge

Show the watch time in a README or course description — it links back here and updates itself

Watch time: 3d 14h 37m · 158 videos

Markdown
[![Watch time: 3d 14h 37m · 158 videos](https://playlistduration.com/badge/playlist/PL-osiE80TeTt2d9bfVyTiXJA-UTHn6WwU.svg)](https://playlistduration.com/playlist/PL-osiE80TeTt2d9bfVyTiXJA-UTHn6WwU)
HTML
<a href="https://playlistduration.com/playlist/PL-osiE80TeTt2d9bfVyTiXJA-UTHn6WwU"><img src="https://playlistduration.com/badge/playlist/PL-osiE80TeTt2d9bfVyTiXJA-UTHn6WwU.svg" alt="Watch time: 3d 14h 37m · 158 videos" width="235" height="20"></a>

Add ?speed=1.5 to the image URL for the time at that speed, ?label=Course to change the left text, or ?style=flat-square for square corners.

Want the numbers themselves? GET https://playlistduration.com/api/v1/playlist/PL-osiE80TeTt2d9bfVyTiXJA-UTHn6WwU returns them as JSON — free, no key. API docs →

Data from the YouTube Data API as of 2026-09-22 (cached). Private or deleted videos are excluded from totals.