For anyone who wants to learn Python online, it can be a bit overwhelming. When I Googled it, I came up with over 200 million hits.
The frustrating thing is that despite having a ton of options, very few of them fit your needs. When I was a beginner who wanted to learn Python, I wanted:
- An interactive platform
- that didn’t assume prior knowledge
- that would give me something at the end that I could put on a portfolio
- didn’t cost too much
- where I could learn on my own time
- and had some kind of community element
There were very few places that met all my criteria.
Of course, other folks learning Python online might want different things, like being able to read a textbook or taking some kind of high-octane Python Bootcamp. You might want to get a Python certification, or maybe you need to only look at free online courses.
My point is that everyone wants something slightly different, so it’s tough to put together a list of truly “best” places to learn Python online.
Instead, I’m making a list of some great Python options, and giving you enough information to make up your mind.
I will also assume that you are a beginner coder, who isn’t interested in shortcuts or “the easy way” (which doesn’t exist), and that you want to get a full-time job at the end of learning Python. I will also assume you don’t have ten thousand dollars or four years to spend on a degree or Bootcamp.
Interactive Coding Platforms 🔗
Let’s start with my favorite way to learn: interactive coding platforms. I love interactive, self-taught platforms because they’re engaging while still being affordable, unlike bootcamps.
In this section, I’ll offer a brief description of each platform, how much it costs, how long it’ll take to teach you Python, what its benefits are, the cons, and an example lesson you might learn.
Why not start with the best? Boot.dev is the best way to learn backend development the addictive way. It’s got a fantasy theme, you learn Python accompanied by Boots the Bear, and it’s designed to get you hooked on the fast, easy process of building Python code.
With 15,000+ students, a highly active Discord server, and a focus on getting a job, Boot.dev is one of the best places to learn Python online.
Boot.dev costs either $39/month, $228 a year, or $999 for lifetime access. You can audit all the courses for free, but paying for membership gets you solutions and hints to the coursework, instant verification of answers, access to Discord, and certificates of completion.
How long does it take to learn Python here? 🔗
This is hugely dependent on your situation. Boot.dev estimates that their backend career path takes around 12 months.
Quick math time: if you do manage to learn Python in, say six months, pricewise you’re still better off paying for yearlong access ($228) versus six individual months of payment (6 x $39 = $234).
Boot.dev is one of the more reasonably priced places to learn Python online. I also found it to have more engagement than other self-paced online courses thanks to the theme and the active Discord channel.
It’s geared toward backend developers. If you only are interested in the frontend, or you’re just learning Python for a fun hobby rather than as a career move, this might be more than you need.
Sample task 🔗
Here’s an example of an assignment you might receive on Boot.dev’s Learn Python course.
car_size = 4 truck_size = 5 is_smaller = # calculate is_smaller here
Codecademy is like the vanilla coding platform, which I say as a compliment. It’s a comprehensive and structured way to learn Python online. Designed for beginners with little to no coding experience, Codecademy offers a gamified learning experience that makes learning to code fun and engaging.
There’s a range of courses available, including Python. You can get in on either a basic free version or a paid version that unlocks additional content and features.
As I mentioned, there’s a very basic free plan where you can get your feet wet with Python. Beyond that, you can choose the Plus plan to get more courses and quizzes. The Pro plan comes with professional certifications, technical interview prep, code challenges, and assessments.
Plus costs $34.99 a month, or $17.49 when billed annually. Pro costs $59.99 monthly, or $29.99 when billed annually.
Duration to learn Python 🔗
Again, this is very contingent upon your personal style and learning speed. But because it’s a platform designed with beginners in mind, and thanks to its aggressive gamification style, you can consider yourself a basic Pythonista in 25 hours, which could be just a few weeks.
Codecademy is great for beginners who want a structured and engaging way to learn Python. It’s user-friendly – learners can access the courses from any device with an internet connection. Codecademy also offers a supportive community of learners and mentors to help answer questions and provide feedback.
Once you’re no longer a beginner, Codecademy loses its shine. I also found it more like Duolingo for learning a language * very gamified, but at the cost of imparting actual understanding and meaning. Depending on your tastes, that may appeal to you or not.
Example task 🔗
Want a sample of what you could expect to see? Here’s an assignment from Codecademy’s free Python 2 course:
Create three dictionaries: lloyd, alice, and tyler.
Give each dictionary the keys “name”, “homework”, “quizzes”, and “tests”.
Have the “name” key be the name of the student (that is, lloyd‘s name should be “Lloyd”) and the other keys should be an empty list (We’ll fill in these lists soon!)
FreeCodeCamp is, as you’d guess from the name, a free and flexible way to learn Python. It offers practical experience and real-world learning projects to help you learn Python online. Their entire mission is to try to get as many Pythonistas out in the world, as fully empowered to code. They have over 3,000 hours of curriculum for you to get stuck into.
In case that sounds overwhelming to you, the good news is that they put together a great orientation guide that walks you through where to start.
Free to use. Learners can access all the courses and resources without so much as paying a penny.
Duration to learn Python 🔗
3,000 hours is… a lot. But that’s broken down into several certifications, and each certification is broken down into five projects.
Say you want to pass the Scientific Computing with Python course. It’s billed as 300 hours, but at least one Redditor claims it took them a lot less time. I’d expect to learn usable Python with FreecodeCamp within three dedicated months of work.
It’s free! And there’s tons of material to dive into.
This is a much less interactive format than the other two, with less interactivity, and more lectures. That same Reddit thread described the lectures as “awful” and projects as “hellish,” due to lack of guidance. This is better for people who are determined to be self-taught.
Example task 🔗
Which code is indented correctly to print “Yes” if
x = 0 and
y = 10?
if 0 == x: if y == 10: print("Yes")
if 0 == x: if y == 10: print("Yes")
if 0 == x: if y == 10: print("Yes")
if 0 == x: if y == 10: print("Yes")
Massive Open Online Courses 🔗
While those were all interactive platforms that are specifically geared to programming, you can also learn Python online on Massive Open Online Courses, which serve as places where people can upload courses for you to take.
In this section, I’ll describe each, give its cost, and explain the pros and cons.
Udemy is home to over 130,000 courses on a wide range of topics, including Python. Many courses on Udemy are taught by industry professionals, and the platform offers a mix of free and paid courses.
The cost of Udemy courses varies widely, depending on the course and the instructor. While some courses are free, others can cost upwards of $100 or more. However, Udemy frequently offers discounts and promotions, which can make courses more affordable.
On Udemy, you can choose from a huge variety of courses and instructors available. With thousands of courses on Python alone, you can choose a course that best fits your needs and learning style. Truly spoiled for choice.
That being said, the quality of the courses can vary. Some courses are taught by industry professionals and offer valuable insights, but anyone can upload a course to Udemy.
Plus, some courses may not be updated regularly, which means the material may be outdated or no longer relevant. Finally, you don’t get any interactivity or community, so it’s tough to get feedback or support when you need it.
edX and Coursera 🔗
Now, in contrast, edX and Coursera host college-accredited courses. These are run by real professors, for real colleges.
If you need a certificate, you have to pay. But if you’re just looking to learn, any of their courses are free to audit. This means you don’t get access to quizzes, and once you complete the learning you don’t get a certificate either, but you’ll still have the knowledge that you learned through the course itself.
College-accredited courses mean you’re getting taught by people whose job it is to teach. The lesson quality is higher.
Much more expensive than Udemy, and with a more limited selection. And of course, it’s still not interactive.
Video tutorials 🔗
Let’s take a look at some of the places you can learn Python with plain, free, video tutorials found on YouTube.
The pros are that these have a huge amount of social proof. You can see exactly how many people viewed the Python video, and students often leave their thoughts in the comments. Of course, most of these video tutorials are free.
They aren’t especially interactive, though some do offer code-along sessions. They’re also not created by professionals in many cases. They may be too short, or too boring, to teach you much. And they require a lot of self-discipline to complete in any meaningful way.
Best video tutorials to learn Python 🔗
- Corey Shafer’s Python Series - In-depth and comprehensive Python tutorials covering everything from basic syntax to advanced topics like web scraping and Django.
- Sentdex - Python programming tutorials that cover a wide range of topics including data analysis, machine learning, and web development.
- Pretty Printed - Short and easy-to-follow Python tutorials with a focus on practical applications and projects.
- Programming with Mosh - A comprehensive Python course that covers everything from the basics to advanced topics like data structures, algorithms, and GUI programming.
Text-based tutorials 🔗
What if you prefer to read? Text-based tutorials are a great option for any burgeoning Pythonistas who prefer reading over watching videos.
There are a plethora of free resources available online that provide detailed and comprehensive Python tutorials in written form.
These tutorials cover everything from the basics of Python syntax and data structures to more advanced topics like web scraping, data analysis, and machine learning. Many of these resources also provide practical examples and exercises to help reinforce the concepts learned.
I can’t say that I have ever learned a brand new skill just by reading a blog. I think text-based tutorials are very useful for introductions, background reading, and very specific, niche tutorials on how to do certain things. But there’s no community or engagement.
Best text-based online tutorials for learning Python 🔗
- Complete Python Tutorial for Absolute Beginners in 2023 - A comprehensive Python tutorial that covers all the basics of Python syntax in a massive free guide. * Python.org - The official website for the Python programming language, featuring documentation, downloads, and community resources. It’s dry, but it’s comprehensive.
- Real Python - A comprehensive online platform for learning Python with a wide range of tutorials, articles, and video courses. Text-focused, but with bonus bits that make it a joy to learn with.
- PyLessons - A popular text-based resource for learning Python online, offering free and comprehensive tutorials that cover a wide range of topics, from basic syntax to advanced topics like machine learning and data analysis.
What if you prefer to read not just a blog post or a how-to guide, but a whole-ass completed thought?
I think books are one of the best ways to learn because they are a complete, full, mindfully designed creation. I talk about this in my article about the top 11 computer science books.
It’s truly self-paced learning, which is both good and bad. The cost is typically good, and you might find some free textbooks out there too. I also love that books are complete. They’re not a series of blog posts; books are structured and designed to be a comprehensive resource that covers all the key concepts and topics.
This is helpful for beginners who may feel overwhelmed by the amount of information available online.
Of course, self-paced is a double-edged sword. You need bucketloads of self-motivation to learn Python by reading a book online. You also have to love reading.
Best textbooks for learning Python 🔗
Here are some of my Python book faves. I’ve hyperlinked to physical books, but you can find many of these online.
- Python for Everybody - Offers an intro to Informatics-oriented programming using Python. There’s a focus on using Python to solve data analysis problems common in the world of Informatics.
- Python Crash Course - A fast-paced and project-based book that covers the fundamentals of Python programming and advanced topics like web development, data visualization, and game development.
- Automate the Boring Stuff - A book and online course that teaches how to automate tedious tasks using Python.
- Learning Python - A comprehensive book that covers the basics of Python programming, object-oriented programming, and advanced topics like network programming and web services.
- Head First Python - A visually engaging book that uses a hands-on approach and real-world examples to teach Python programming concepts.
- Learn Python the Hard Way - A popular book (that comes with an online course) that takes a project-based approach to teaching Python with a focus on practical programming skills.
Online communities 🔗
Let’s do a 180 and look at some online communities as a resource to learn Python online.
Much more engagement, lots of motivation, and companionship. These sites are often free or included in a low-cost membership.
Not a huge amount of structure. These are good in combination with one or more of the other resources I mention in this list but aren’t a good way to learn Python in isolation.
Best online communities for learning Python 🔗
- Python subreddit - A popular online community for Python enthusiasts and learners. Features discussions, Q&A, and news related to Python programming.
- Stack Overflow - An online community for programmers of all levels. Offers a wealth of information and resources on Python programming through questions and answers, tutorials, and forums.
Discord servers * Online communities hosted on Discord, a communication platform for gamers that are also used by programming communities. Provides a platform for real-time discussions, sharing code, and collaborating with other learners and Python enthusiasts. We’ve got a great one as part of Boot.dev membership.
Coding challenge platforms 🔗
What about places where you can test your mettle? I love improving my Python skills with some real stakes. These coding challenge platforms aren’t just a place for you to passively learn – you’ll get real interview questions, compete in actual competitions, and show off in front of other coders.
Coding challenge platforms give you practical, engaging ways to learn and practice Python skills, offering real-world scenarios and opportunities for collaboration and competition. Plus, you’re in public, so you can’t slack off.
But they may not offer the same depth of content or guidance as other learning resources like books or courses. Plus, the competitive nature can be a bit of a turn-off for some Python learners.
The best coding challenge platforms to test your Python skills online 🔗
- StrataScratch - Provides a collection of real-world SQL and Python interview questions for users to practice with.
- Kaggle - Offers a range of Python challenges, including competitions that involve real-world datasets and problems.
- HackerRank - An online platform for coding tests, offering a range of Python challenges and competitions.
- Codewars - A community-driven platform that offers a range of coding challenges, including Python challenges of varying difficulty levels.
Industry resources 🔗
Sometimes it’s nice to do things yourself. Other times it’s nice to let a well-funded corporation with a lot of talent and resources guide you. Maybe learning Python online is one of those times.
If you’re struggling to get to grips with the vast amount of info available online, use a corporate guide to get started.
Especially Microsoft and Google have a vested interest in teaching the next generation of people to use Python. That means that their resources are likely to be great, and they’re 100% free.
These are designed for people learning Python for Microsoft or Google jobs. Python is Python is Python, but these will leave out some interesting parts because they’re especially geared toward Microsoft and Google’s interests. Plus, I find these to be more boring than e.g. Programming with Mosh.
The best online corporate tools to learn Python 🔗
Google’s Python class * A free class for people with some programming experience, including text, videos, and code exercises to learn Python. Google uses this material to teach Python to its employees and recommends some prior programming knowledge.
Microsoft’s Python class * They mostly offer videos, but there are some examples and code exercises. This course is meant to be the foundation and – they encourage you to go out and learn on your own when you’re done.
Final thoughts on the best places to learn Python 🔗
This isn’t intended to be the definitive answer. Think of this more like a signpost. Have a look at these online resources and communities, and decide which one works best for you. Ultimately, it’ll be a combination of:
- Learning style
I recommend you try a few of each, and select a combination of resources to learn Python online that works best for you.