Complete Python Developer in 2021: Zero to Mastery
Become a Python 3 Developer and get hired! Build 12+ projects, learn Web Development, Machine Learning & more.
What you'll learn
- ✓ Become a professional Python Developer and get hired
- ✓ Learn Object Oriented Programming
- ✓ Build 12+ real world Python projects you can show off
- ✓ Learn Machine Learning with Python
- ✓ Learn Data Science - Analyze and Visualize Data
- ✓ Use Python to process: Images, CSVs, PDFs, and other Files
- ✓ Use Python to send Emails and SMS
- ✓ Set up authentication and user accounts
- ✓ Learn to Test, Debug and Handle Errors in your Python programs
- ✓ Learn to use Selenium and Python in Automation
- ✓ Master modern Python 3 fundamentals as well as advanced topics
- ✓ Learn Function Programming
- ✓ Learn how to use Python in Web Development
- ✓ Build a Machine Learning Model
- ✓ Learn CSS in JS with styled-components
- ✓ Build a professional Portfolio Website
- ✓ Build a Web Scraper with Python and BeautifulSoup
- ✓ Use Python to build a Twitter bot
- ✓ Learn best practices to write clean, performant, and bug free code
- ✓ Set up a professional workspace with Jupyter Notebooks, PyCharm, VS Code + more
Meet your instructor

Hi! I'm Andrei.
Senior Software Developer turned Instructor, Founder of ZTM
Andrei is the instructor of some of the highest rated programming courses on the web. Some of his students (300,000+ in the past 2 years) now work for some of the biggest tech companies around the world like Apple, Google, Amazon, Tesla, IBM and UNIQLO.
He has worked as a Senior Software Developer in Silicon Valley and Toronto for many years and is now taking all that he has learned to teach programming skills and to help you discover the amazing career opportunities that being a developer allows in life.
Don't take our word for it

Caroline Chen
Another excellent course from Andrei. I had to learn Python for some new projects at work and I'd say this course is the best one yet. I took the Complete Web Developer course last year and landed a Software Developer job after only 6 months (from having zero programming experience). Discovering Andrei's courses has been the best move of my career so far. Thank you Andrei!

Natalia Marek
The course is amazing. I tried so many other courses (Codecademy, EdX, Coursera, Udacity) but none of them gave me as much as this course. I have been recommending it to so many people, so that they don't have to make the mistake I did, and waste their time on another course.
Ryan Boris
Another excellent course from Andrei! So happy that he added this to the series and like all the other courses, it goes above and beyond and then some. The course provides authentic, real-world based work and topics, blended with the right amount of academic theory that is current to bleeding-edge. Thanks again for all your hard work on this and all the courses and community you provide, Andrei!

Edward Gonzalez
Awesome course! It is very comprehensive--it covers pretty much all the areas of programming. It is entertaining and very well organized. Not only gives you the fundamentals, but also it gives you a taste of what you can do with the tools you learn. If you are learning programming, this is one of the best courses to take.

Feraud Hamid
This course starts out with the nuts and bolts for all to follow along. It then moves on to more advance stuff and then culminates with excellent projects. The instructor explains the concepts well and lays the foundation for students to build on. This is how it is in the real world. Overall, great instructor, great course.
Krzysztof Bulanowski
Great course by Andrei, not only teaching syntax, but giving insight into many Python fields and different projects. I think it's great for beginners in programming and also for someone with some experience coming from other languages to grasp python syntax and practices. You also get access to the large community and additional resources shared by Andrei.
Why Zero To Mastery is right for you
With so many online resources available, it can be paralyzing not only figuring out where to start but more importantly which courses will actually teach you the skills you need to get hired.
That’s why the Zero To Mastery Academy exists, to provide industry-leading courses and content to teach you the relevant skills you need to advance your career and get you hired at some of the top companies in the world.
Join now to get complete access to this course and all others for only $22/month.
Course Curriculum
To make sure this course is a good fit for you, you can start learning for free right now with over 1 hour of free lessons. Click the PREVIEW links below.
Course Curriculum
- What Is A Programming Language? (6:24)
- Python Interpreter (7:04)
- How To Run Python Code (4:53)
- Note: Jumping To Developer Environment
- Our First Python Progam (7:43)
- Latest Version Of Python (1:58)
- Python 2 vs Python 3 (6:40)
- Why So Many Languages? (4:14)
- Exercise: How Does Python Work? (2:09)
- ZTM Python Cheat Sheet
- Python Developer Monthly
- Endorsements On LinkedIn
- 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)
- 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:20)
- 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)
- Breaking The Flow (2:34)
- Conditional Logic (13:17)
- Indentation In Python (4:38)
- Truthy vs Falsey (5:17)
- 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
- MAC - Python Install (4:23)
- WINDOWS - Python Install (4:01)
- WINDOWS - Get Terminal
- LINUX - Python Install
- Python Developer Tools (3:04)
- Sublime Text (5:47)
- Resources: Customizing Sublime Text 3
- 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)
- 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)
- 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)
- We Still Have More To Go!
- 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)
- Section Overview (1:30)
- What Is Image Processing? (3:43)
- DEVELOPER FUNDAMENTALS: VII (3:08)
- 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)
- 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 API Approval
- Twitter API (3:54)
- 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)
- 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)
- 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)
- Section Overview (1:32)
- How Websites Work (8:13)
- How Websites Work 2 (4:31)
- Building Our First Server (9:23)
- 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)
- 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
- 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)
- Data Science 1 (9:56)
- 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)
- Machine Learning 5 (5:35)
- Machine Learning 6 (4:28)
- Exercise: ReallySmartBrain (13:55)
- My Favourite Machine Learning Resources
- Quick Note: Upcoming Videos
- CWD: Git + Github (17:40)
- Github Update: Master --> Main
- CWD: Git + Github 2 (16:52)
- Contributing To Open Source (14:44)
- Contributing To Open Source 2 (9:42)
- Exercise: Contribute To Open Source
- Coding Challenges
- Quick Note: Upcoming Videos
- JTS: Learn to Learn (2:43)
- JTS: Start With Why (1:59)
- 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)
Course Details
Learn Python from scratch, get hired, and have fun along the way with the most modern, up-to-date Python course on the web (we use the latest version of Python)! This is one of our most popular coding bootcamps and it's fully updated for 2021.
We guarantee you that this is the best Python course and bootcamp that you can find if you want to go from an absolute beginner to getting hired as a Python developer.
Graduates of Zero To Mastery courses are now working at Google, Tesla, Amazon, Apple, IBM, JP Morgan, Facebook + other top tech companies. This could be you.
By enrolling today, you’ll also get to join our exclusive live online community classroom to learn alongside thousands of students, alumni, mentors, TAs and Instructors. Most importantly, you will learn Python from an industry expert that has actual real-world experience having worked for top companies in both Silicon Valley and Toronto.
This course is focused on efficiency. Don't spend time on confusing, out of date, or incomplete Python tutorials anymore.
This comprehensive and project-based course will introduce you to all of the modern skills of a Python developer (Python 3) and along the way, we will build over 12 real-world projects to add to your portfolio (you will get access to all of the code from each project we build so that you can put them in your portfolio right away).
The curriculum is very hands-on as we walk you from start to finish of becoming a professional Python developer. We will start from the very beginning by teaching you Python basics and programming fundamentals, and then we'll go into advanced topics and different career fields in Python so you can get real-life practice and be ready for the real world.
The topics covered in this course are:
- Programming Fundamentals
- Python Basics
- Python Fundamentals
- Data Structures
- Object Oriented Programming with Python
- Functional Programming with Python
- Lambdas
- Decorators
- Generators
- Testing in Python
- Debugging
- Error Handling
- Regular Expressions
- Comprehensions
- Modules
- Virtual Environments
- Developer Environments (PyCharm, Jupyter Notebooks, VS Code, Sublime Text + more)
- File Processing: Image, CSV, PDFs, Text + more
- Web Development with Python
- Machine Learning with Python
- Data Science with Python
- Automation with Python and Selenium
- Scripting with Python
- Web Scraping with Python and BeautifulSoup
- Image Detection
- Data Visualizations
- Kaggle, Pandas, NumPy, scikit-learn
- Email and SMS with Python
- Working with APIs (Twitter Bot, Password Checker, Translator)
By the end of this course, you will be a complete Python developer that can get hired at large companies. We are going to use Python to work with email, text messages, CSV files, PDF files, image files, data visualizations, build our own machine learning model as well as perform image detection. We will also build a web scraper for HackerNews, build a Twitter bot, build the most secure password checker, and we will also build some automation tools using Selenium.
But the best part? You will build an actual portfolio website using Python that your future employer and customers can contact you at. By the end, you will have a stack of projects that you have built that you can show off.
Here’s the truth: most courses teach you Python and that's it. They show you how to get started, but then you don’t know where to go from there or how to build your own projects.
Whether you are new to programming, looking to level up your Python skills, or are coming from a different programming language, this course is for you. This course is not about making you just code along without understanding the principles so that when you are done with the course you don’t know what to do other than watch another tutorial. No! This course will push you and challenge you to go from an absolute beginner with no coding experience to someone that can go off, forget about me, and build their own applications and get hired.
When is the best time to begin? It's today! By taking that first step right now, you are that much closer to developing the skills to build your own apps, get hired and closer to your dream career.
Click Start Learning Now to join the Academy and we'll see you inside the course!
Answers to (at least some of) your questions
Are there any prerequisites for this course?
A computer (Windows/Mac/Linux). That's it! No previous programming experience or prior knowledge of Python is needed. You just need to be prepared to fall in love with Python and programming!
Who is this course for?
- Anyone who wants to master Python 3
- Anyone who wants to learn to code
- Anyone looking to level up their skills and master a new programming language
- Anyone who wants to get into: Web Development, Machine Learning, Data Science and other hot job markets
Do you provide a certificate of completion?
We definitely do.
Can I use the course projects in my portfolio?
Yes, you’d be crazy not to in our slightly biased opinion! All projects are downloadable and ready to use the minute you join. Many of our students tell us the projects they built while following along with our courses were what got them interviews and because they built the projects themselves, they could confidently explain and walk through their work during the interview. You know what that means? Job offer!
Can I download the videos?
Definitely. You can download any and all lessons for personal use. We do everything we can to make learning easy, fun, and accessible whether that’s on your commute, on a flight or you just have limited access to good wifi.
How long does it usually take for me to build something and get hired?
Ultimately you’re the only can that can control that. However, while everyone learns at a different pace, students who put in a couple hours each day to apply what they’ve learned should be able to confidently build their own projects and start interviewing in 3-6 months. We don’t see just getting hired as the end goal though. Our advanced courses will also teach you the topics and skills you need to get promoted or hired as a senior developer.
Still have more questions specific to the Academy membership? No problem, head to the bottom of this page.
Live the life you want, starting now
Learning to code and becoming a developer provides endless opportunities to live the life you want. Whether that’s a high paying job with a world-class tech company, working remotely or building your own apps, the ZTM Academy will equip you with the skills and knowledge to achieve your dreams.
Our courses walk you through the entire journey of starting to learn to code to having a successful career as a developer. Along the way, you’ll not only be supported by Andrei, Yihua and course TAs but also your peers in the exclusive Zero To Mastery community.
Join now to take the first step to change your life.