Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Complete Python Developer in 2025: Zero to Mastery
Introduction
Complete Python Developer: Zero to Mastery (3:38)
Course Outline (5:57)
Exercise: Meet Your Classmates and Instructor
ZTM Plugin + Understanding Your Video Player
Set Your Learning Streak Goal
Python Introduction
What Is A Programming Language? (6:24)
Python Interpreter (7:04)
How To Run Python Code (4:53)
IMPORTANT: Replit Code
Latest Version Of Python (1:28)
Note: Jumping To Developer Environment
Our First Python Progam (7:43)
Python 2 vs Python 3 (6:41)
Why So Many Languages? (4:14)
Exercise: How Does Python Work? (2:09)
ZTM Python Cheat Sheet
Python Developer Monthly
Let's Have Some Fun (+ Free Resources)
Python Basics
Learning Python (2:05)
Python Data Types (4:46)
How To Succeed
Numbers (11:09)
Math Functions (4:29)
DEVELOPER FUNDAMENTALS: I (4:07)
Operator Precedence (3:10)
Exercise: Operator Precedence
Optional: bin() and complex (4:02)
Endorsements On LinkedIn
Variables (13:12)
Expressions vs Statements (1:36)
Augmented Assignment Operator (2:49)
Strings (5:29)
String Concatenation (1:16)
Type Conversion (3:03)
Escape Sequences (4:23)
Formatted Strings (8:23)
String Indexes (8:57)
Immutability (3:13)
Built-In Functions + Methods (10:03)
Booleans (3:21)
Exercise: Type Conversion (8:22)
DEVELOPER FUNDAMENTALS: II (4:42)
Exercise: Password Checker (7:21)
Lists (5:01)
List Slicing (7:48)
Matrix (4:11)
List Methods (10:28)
List Methods 2 (4:24)
List Methods 3 (4:52)
Common List Patterns (5:57)
List Unpacking (2:40)
None (1:51)
Dictionaries (6:21)
3.7 Update: Ordered Dict
DEVELOPER FUNDAMENTALS: III (2:40)
Dictionary Keys (3:37)
Dictionary Methods (4:37)
Dictionary Methods 2 (7:04)
Tuples (4:46)
Tuples 2 (3:14)
Sets (7:24)
Sets 2 (8:45)
Unlimited Updates
Python Basics 2
Breaking The Flow (2:34)
Conditional Logic (13:18)
Indentation In Python (4:38)
Truthy vs Falsey (5:18)
Ternary Operator (4:14)
Short Circuiting (4:02)
Logical Operators (6:56)
Exercise: Logical Operators (7:47)
is vs == (7:36)
For Loops (7:01)
Iterables (6:43)
Exercise: Tricky Counter (3:23)
range() (5:38)
enumerate() (4:37)
While Loops (6:28)
While Loops 2 (5:49)
break, continue, pass (4:15)
Our First GUI (8:48)
DEVELOPER FUNDAMENTALS: IV (6:34)
Exercise: Find Duplicates (3:54)
Functions (7:41)
Parameters and Arguments (4:24)
Default Parameters and Keyword Arguments (5:40)
return (13:11)
Exercise: Tesla
Methods vs Functions (4:33)
Docstrings (3:47)
Clean Code (4:38)
*args and **kwargs (7:56)
Exercise: Functions (4:18)
Walrus Operator (7:15)
Scope (3:37)
Scope Rules (6:55)
global Keyword (6:13)
nonlocal Keyword (3:21)
Why Do We Need Scope? (3:38)
Python Exam: Testing Your Understanding
Course Check-In
Developer Environment
MAC - Python Install (4:23)
WINDOWS - Python Install (4:01)
WINDOWS - Get Terminal
LINUX - Python Install
Python Developer Tools (3:04)
Sublime Text (5:48)
Resources: Customizing Sublime Text 4
Quick Note: Upcoming Video
Optional: Terminal Commands (9:56)
iTerm Setup
Using the Command Line/Terminal (3:00)
Visual Studio Code (7:29)
PyCharm (8:19)
Code Formatting - PEP 8 (5:26)
Quick Note: Jupyter Notebooks
Jupyter Notebooks (12:03)
Section Review (2:20)
Implement a New Life System
Advanced Python: Object Oriented Programming
Note on Upcoming Sections
What Is OOP? (5:46)
What is OOP? Part 2 (8:17)
Creating Our Own Objects (11:34)
Attributes and Methods (9:12)
__init__ (2:52)
Exercise: Cats Everywhere
@classmethod and @staticmethod (5:47)
Reviewing What We Know So Far (2:09)
DEVELOPER FUNDAMENTALS: V (2:56)
Encapsulation (5:51)
Abstraction (4:48)
Private vs Public Variables (5:20)
Inheritance (9:27)
Inheritance 2 (4:12)
Polymorphism (7:07)
Exercise: Pets Everywhere
super() (5:02)
Object Introspection (2:07)
Dunder Methods (9:53)
Exercise: Extending List (5:00)
Multiple Inheritance (6:58)
MRO - Method Resolution Order (8:31)
Advanced Python: Functional Programming
Functional Programming (1:23)
What Is Functional Programming? (3:01)
Pure Functions (9:23)
map() (6:30)
filter() (4:23)
zip() (3:28)
reduce() (7:31)
Exercises: map, filter, zip, reduce
Lambda Expressions (7:45)
Exercise: Lambda Expressions (6:27)
List Comprehensions (8:37)
Set and Dictionary Comprehension (6:26)
Exercise: Comprehensions (4:36)
Exercise: Imposter Syndrome (2:55)
We Still Have More To Go!
Advanced Python: Decorators
Decorators (6:28)
Higher Order Functions (2:11)
Decorators 2 (7:49)
Decorators 3 (6:09)
Why Do We Need Decorators? (8:42)
Exercise: @authenticated
Advanced Python: Error Handling
Errors in Python (6:11)
Error Handling (8:31)
Error Handling 2 (6:01)
Exercises: Error Handling (4:57)
Error Handling 3 (3:06)
Advanced Python: Generators
Generators (4:57)
Generators 2 (10:30)
Generators Performance (4:33)
Under The Hood Of Generators (9:15)
Exercise: Fibonacci Numbers (8:46)
100 Python Exercises
Modules In Python
Modules In Python (11:47)
Packages In Python (10:45)
Different Ways To Import (7:03)
__name__ (8:52)
Python Built-in Modules (11:08)
Python Built-in Modules 2 (6:05)
Exercise: Guessing Game (12:29)
Python Package Index (7:13)
pip install (9:28)
Virtual Environments (7:07)
Useful Modules (10:08)
Interesting Tidbit: Python Dict
Useful Modules 2 (6:15)
DEVELOPER FUNDAMENTALS: VI (2:16)
Debugging In Python
How To Debug Code (13:28)
File I/O
Working With Files In Python (8:32)
Read, Write, Append (7:23)
File Paths (6:53)
File IO Errors (2:23)
Exercise: Translator (9:55)
Regular Expressions
Regular Expressions (8:23)
Regular Expressions 2 (8:01)
Exercises: Interactive RegEx
Regular Expressions 3 (7:33)
Exercise: Password Validation (5:52)
Exercise: Password Validation 2
Testing In Python
Testing Introduction (5:31)
Unittest (11:03)
Writing Unit Tests (8:06)
Writing Unit Tests 2 (6:01)
Exercise: Testing (14:03)
Career Of A Python Developer
Python Careers (4:03)
Endorsements On LinkedIn
Quick Note: Upcoming Video
What If I Don't Have Enough Experience? (15:03)
Learning Guideline
Now What?? (5:03)
Scripting With Python
Section Overview (1:30)
What Is Image Processing? (3:43)
DEVELOPER FUNDAMENTALS: VII (3:08)
Final Updated Code for this Project
Images With Python (8:45)
Images With Python 2 (5:14)
Images With Python 3 (4:56)
Exercise: JPG to PNG Pokedex Converter (5:42)
Quick Note: Github
Solution: JPG to PNG Pokedex Converter (11:31)
OpenCV (1:28)
Quick Note: Upcoming Lecture
PDFs With Python (12:08)
Exercise: PDF Merger (4:54)
Exercise: Watermarker (2:17)
Solution: Watermarker (7:19)
Sending Emails With Python (4:49)
Quick Note: Google Security Updates
Sending Emails With Python 2 (8:00)
Sending Emails With Python 3 (8:40)
Password Checker Project (2:53)
How Hackers Work (4:42)
Password API (8:09)
Quick Note: Upcoming Video
Optional: Hash Function (5:56)
Password Checker (9:52)
Password Checker 2 (8:36)
Password Checker 3 (6:50)
Password Checker 4 (3:13)
Quick Note: Twitter/X API Approval
Alternative Option: Bluesky Bot
Twitter API (3:54)
Quick Note: Tweepy API
Our First Twitter Bot (6:48)
Our First Twitter Bot 2 (7:56)
Our First Twitter Bot 3 (1:29)
Our First Twitter Bot 4 (7:08)
SMS With Python (3:08)
SMS With Python 2 (1:29)
SMS With Python 3 (6:45)
Ntfy Fun
Exercise: Build Something Funny
Scraping Data with Python
Web Scraping Introduction (4:47)
Web Scraping and APIs (9:10)
How Googlebot Works (4:30)
Our Hacker News Project (3:26)
Requesting Data (5:19)
BeautifulSoup Basics (6:39)
Quick Note: .storylink to .titleline
BeautifulSoup Selectors (7:36)
Hacker News Project (8:33)
Hacker News Project 2 (7:10)
Hacker News Project 3 (5:14)
Solution: Hacker News Project 3 (4:03)
What To Do Next With Scraping? (3:31)
Web Development with Python
Section Overview (1:32)
How Websites Work (8:13)
How Websites Work 2 (4:31)
Building Our First Server (9:23)
Quick Note: Flask Versions
Setting Up Flask (9:47)
Building A Flask Server (10:41)
Flask Templates (8:07)
Flask Static Files (3:43)
Favicon (3:04)
Templating Engine (3:54)
URL Parameters (6:45)
MIME Types (5:21)
Files Needed for Next Video
Building A Portfolio (9:10)
FREE HTML Templates
Building A Portfolio 2 (6:46)
Building A Portfolio 3 (7:11)
Building A Portfolio 4 (6:40)
HTML Forms
Building A Portfolio 5 (10:01)
Building A Portfolio 6 (7:07)
Building A Portfolio 7 (11:00)
Quick Fix: newline
Quick Note About Databases (2:15)
Upcoming Video
Optional: How Databases Work (10:54)
Building A Portfolio 8 (14:54)
Building A Portfolio 9 (6:54)
Bonus Exercise: Customize Your Portfolio
Automation/Testing
Section Overview (1:50)
Quick Note: Selenium Version
Selenium Introduction (10:10)
Quick Update: Selenium 4+
Selenium Basics (11:47)
Selenium Basics 2 (10:51)
Selenium Basics 3 (6:13)
Machine Learning + Data Science
Section Overview (2:38)
AI/Machine Learning/Data Science (3:44)
How Machine Learning Works (5:53)
History Of Data (4:39)
Types of Machine Learning (4:53)
Machine Learning 101 (8:48)
Tools In Machine Learning (6:07)
Kaggle Datasets
Data Science 1 (9:57)
Data Science 2 (10:48)
Data Science 3 (12:30)
Machine Learning 1 (12:03)
Machine Learning 2 (6:15)
Machine Learning 3 (5:53)
Optional: K Nearest Neighbour
Machine Learning 4 (3:08)
Quick Note: Joblib Update
Machine Learning 5 (5:35)
Machine Learning 6 (4:28)
Exercise: ReallySmartBrain (13:55)
My Favourite Machine Learning Resources
Where To Go From Here?
Thank You (1:27)
Review This Course!
Become An Alumni
Learning Guideline
ZTM Events Every Month
LinkedIn Endorsements
Bonus: Extra Bits
Watch Git, Github + Open Source Projects Section
Quick Note: Upcoming Videos
JTS: Learn to Learn (1:59)
JTS: Start With Why (2:43)
Quick Note: Next Video
My Terminal Setup (6:36)
My Terminal Setup 2
AMA - 1,000 Students!! (19:03)
AMA - 100,000 Students!! (38:30)
Bonus: HTML Forms
Quick Note: Upcoming Videos
HTML Forms (10:59)
HTML Forms 2 (3:13)
Submitting A Form (8:22)
Building A Portfolio 5
This lecture is available exclusively for ZTM Academy members.
If you're already a member,
you'll need to login
.
Join ZTM To Unlock All Lectures