Dutch computer scientist Guido van Rossum decided to take on a fun little side project over the Christmas break in 1989: building a new programming language. The one he used in projects at work was overcomplicated and clunky, but he thought he could use some of its better features to create something more forgiving, flexible, and easier to read.
Van Rossen developed his language mostly in his free time over the course of the next year, eventually deciding to name it “Python” after the British comedy series Monty Python’s Flying Circus, whose published scripts he was reading at the time of its implementation. In the years since, it’s basically become the Holy Grail of general-purpose programming languages.
“I certainly didn’t set out to create a language that was intended for mass consumption,” van Russum told The Economist in 2018. Yet according to SlashData’s most recent State of the Developer Nation report, Python is one of the most popular and fastest-growing programming languages out there with 9 million active developers worldwide, having added 2.2 million net users in the past year alone. Moreover, the almost 65,000 developers polled for Stack Overflow’s 2020 Developer Survey named Python their third most loved programming language and the one they wanted to learn most.
If you’re interested in pursuing a career in software development (or simply want to future-proof your current job), this is definitely the bandwagon to hop on.
What’s so great about Python?
Python’s popularity can be credited to a bunch of different factors:
The syntax is extremely simple and neat — This makes it easy to read, easy to write, and very easy to learn. If you’re just dipping your toes into the world of coding, it’s an excellent jumping-off point for other programming languages.
The active community and detailed online documentation — There are lots of resources for users to explore and build upon.
The extensive standard library — A programming language’s standard library is a collection of ready-made, commonly used functions and script modules, which you can use to simplify the coding process and avoid writing everything manually.
Productivity — Compared to other programming languages like C, C++. and Java, Python can get the same task done in fewer lines of code. Similarly, it’s great for whipping up prototypes in the early stages of a project’s development.
Open-source — This means it’s entirely free to download, modify, and distribute.
Cross-platform functionality — Python code works the same on macOS, Windows, and Linux.
Python plays well with others — Python code is both “extensible” and “embeddable,” meaning you can write some of it in a different language and put it in another language’s source code, respectively.
Versatility — From tech to IT, web design, social media, finance, insurance, healthcare, retail, banking, and even aerospace, Python is a general-purpose programming language whose real-world applicability is seemingly limitless.
Scalability — Python’s simplicity makes it a go-to for personal projects, but it’s also powerful enough for the likes of Netflix, Spotify, Facebook, Instagram, Google, Dropbox, Reddit, and NASA.
Adaptability — What’s especially interesting about Python is that despite being three decades old, it has stuck around and continued to grow at a remarkable rate alongside new technologies. Per Associate Prof. Daniel Guetta of Columbia Business School, “Python today is what Excel was 20 years ago.”
Why learn Python?
Simply put, Python is where the (good) jobs are at. According to a 2020 survey of over 116,000 software engineers by the tech hiring platform HackerRank, nearly half of hiring managers worldwide look for Python programming skills in their potential employees. Furthermore, it’s one of the best-paid programming languages behind Ruby.
More broadly, any sort of programming knowledge will give you a leg up in the job market these days. There are estimates that the employment of software developers will grow 22% from 2019 to 2029, which is “much faster than the average for all occupations.”
What kind of jobs can you get knowing Python?
Conducted by the software vendor JetBrains in partnership with the Python Software Foundation (a nonprofit that holds the language’s trademark, manages its open-source licensing, and funds its development), the most recent official Python Developers Survey found that its users work across the fields of science, education/training, accounting/finance/insurance, and medicine/health, though the vast majority are in IT/software development. More than two-thirds are employed full-time by a company or organisation, as opposed to just 6% who are self-employed and 5% who are freelancers.
Notably, the vast majority of Python developers polled for that study have five or fewer years of experience with the language, and 29% have under a year of professional coding experience overall. In other words, it doesn’t take much to break into the industry. (To add to that point, Stack Overflow’s report found that Python developers typically have higher wages with fewer years of experience compared to users of other languages.)
What are the best Python courses?
While large tech companies like Apple and Google typically hire software developers with Bachelor’s degrees or higher, Python’s gentle learning curve makes self-taught online classes and bootcamps a smart choice for novice or casual programmers. After sorting through dozens of expert reviews and hundreds of comments on the subreddit r/LearnPython (an excellent resource for Python newbies), we’ve concluded that the best Python classes tick all or most of the following boxes:
They’re not too expensive — Some of the best Python classes are cheap or even free.
They offer lifetime access to class materials — You can refer back to and build upon what you’ve previously learned.
They’re self-paced — You can go as quickly or as slowly as you want. There’s no pressure.
They’re not subscription-based — So you’re not penalised for learning slowly.
They’re updated regularly with the latest version of Python — New releases come out every 12 months.
They offer opportunities for feedback and staff support — Coding with Python in professional settings is often a very collaborative experience.
They give real-world context to Python concepts — So you can see the potential of those lines of code on your computer screen.
Their instructors are engaging — Coding can sometimes be dull and tedious, so it helps to have a teacher who not only understands the language but makes it fun to learn, too.
With those criteria in mind, we have done the research and found the best Python courses in 2021.
Lifetime access to course/learning materials • Includes 14 articles and 19 coding exercises • Good reviews from students • Offline viewing available on the mobile app • Can preview select lessons before buying the class
Covers Python 2 (not relevant anymore) • Some students say lessons feel rushed toward the end
A head-first dive into Python fundamentals.
2021 Complete Python Bootcamp From Zero to Hero in Python
This fast-paced course is a clear favourite for Python rookies who want to learn how to code in their free time.-
Platform:
Udemy -
List price:
£59.99 -
Instructor(s):
Jose Portilla, head of data science at Pierian Data Inc. -
Prerequisites:
None -
Class duration:
22 hours, 3 minutes (self-paced) -
Certificate of completion:
Yes
Instructor Joe Portilla begins the course with basic rundowns of Python data types and operators, working his students up gradually to intermediate topics like web scraping and the use of Python with email, images, and PDFs.
Two “Milestone Projects” in which you’ll make applications and games are sprinkled among 23 sections of interactive lessons; those are capped off by a final project of your choosing as well as a few bonus lectures and some tips on how to explore more advanced Python concepts.
Instructor has a lot of experience and a fantastic reputation • Flexible deadlines • Opportunities for further learning via the Python for Everybody Specialisation • Very beginner-friendly
No graded assignments or certificate if you go the free audit route • Pace might feel a little slow • Set enrollment periods
An excellent toe-dip into Python with one of r/LearnPython’s favourite instructors.
Programming for Everybody (Getting Started with Python)
A free-to-audit option makes this acclaimed Python course one of the best deals in online learning.-
Platform:
Coursera -
List price:
Free to audit -
Instructor(s):
Dr. Charles Russell Severance, clinical professor at the University of Michigan School of Information -
Prerequisites:
Basic math knowledge, moderate computer experience -
Class duration:
Approx. 19 hours divided up over 7 weeks (set start date with flexible deadlines) -
Certificate of completion:
No
Offered through the University of Michigan and taught by the beloved “Dr. Chuck,” it’s technically the opener to Coursera’s five-part Python for Everybody Specialisation, but you can it separately for free if you don’t mind forgoing graded assignments and a formal certificate of completion. (Note that the four other courses in that Specialisation also have a “free audit” enrollment option, so you’re set up for further learning.)
Includes 4 articles and 3 downloadable resources • Lifetime access to course/learning materials • Offline viewing via the Udemy mobile app • Prospective students can preview select lessons
Sticks to the very basics • Some students say the quizzes and exercises could be way more challenging • No suggestions for further Python learning/resources
A no-sweat class that draws back the curtain on Python’s potential.
The Python Bible: Everything You Need to Program in Python
It doesn’t go beyond the basics, but this video-based class is excellent at showing students the clear potential for Python’s use in the real world.-
Platform:
Udemy -
List price:
£99.99 -
Instructor(s):
Ziyad Yehia, CEO and core instructor at Internet of Things Academy -
Prerequisites:
None -
Class duration:
9 hours, 8 minutes (self-paced) -
Certificate of completion:
Yes
Instructor Ziyad Yehia is funny and upbeat, past students say, and his 75-ish lectures are fast-paced but thorough enough for Python rookies to understand. (In fact, you might find this class a little too easy if you’ve already got some Python experience under your belt.).
Topics covered include object-oriented programming, or OOP; logic and data structures; and Python loops — knowledge you can use to both write and refine basic code.
Instructor gives away free codes on Reddit every month • Lifetime access to course/learning materials • Prospective students can preview select lessons • Includes 41 downloadable resources • Offline viewing on the Udemy mobile app
Some lessons are a little niche • Several modules need updating
A top Reddit pick that pinpoints Python’s professional applications.
Automate the Boring Stuff with Python Programming
This quick-hit course will show you how Python can take the tedium out of business tasks.-
Platform:
Udemy -
List price:
£49.99 -
Instructor(s):
Al Sweigart, software developer, UI designer, and tech book author -
Prerequisites:
Basic computer skillls -
Class duration:
9 hours, 30 minutes (self-paced) -
Certificate of completion:
Yes
With lessons on how to use Python to program Excel spreadsheets, crawl websites, parse PDFs and Word documents, send emails, and other productivity-boosting task automation, it’s a stellar resource for office workers, academics, and administrators.
Extremely qualified instructors • Certificate can be shared directly to LinkedIn • Learn at your own pace
Certificate of completion costs extra • Set enrollment periods • High learning curve for students with no programming background
A decent challenge with a fancy pedigree.
Introduction to Computer Science and Programming Using Python
This in-depth MIT offering presents a good challenge if you already have a grasp on Python basics.-
Platform:
edX -
List price:
Free -
Instructor(s):
John Guttag, professor of computer science and electrical engineering at MIT; Eric Grimson, professor of medical engineering and computer science at MIT; and Ana Bell, lecturer on computer science and electrical engineering at MIT -
Prerequisites:
Secondary school algebra and a “reasonable aptitude” for math; students with no programming background will experience a higher learning curve -
Class duration:
9 weeks (recommended: 14 to 16 hours/week) with set learning schedule -
Certificate of completion:
Yes, for £50
A little more rigorous than most of the other classes on this list, it aims to help students develop a computational mindset while learning the basics of program-writing, testing, and debugging.
If you manage to slog through it, you have the option of purchasing a certificate of completion for £50. (That feels pretty reasonable for an MIT credential, especially since the course itself is free.)
Students can test out of subjects they already know • Active support forum • Build a portfolio as you learn • Curated curriculum • Access to Slack community for live support/feedback
Price can add up • No mobile app
Tech job prep with more peer and teacher support than virtually any other program of its kind.
Python Development TechDegree
This online bootcamp places a high value on peer-to-peer feedback and staff support, so you’re building a network along with a portfolio.-
Platform:
Treehouse -
List price:
£140/month -
Instructor(s):
Kenneth Love, Python engineer; Treasure Porth, web developer; Craig Dennis, backend developer; Jay McGavren, developer and author; Ashley Boucher, software developer; and Megan Amendola, UX designer and software developer -
Prerequisites:
None -
Class duration:
2 to 5 months (self-paced) -
Certificate of completion:
Yes
Comprised of interactive videos, workspaces, quizzes and five projects, the months-long online coding bootcamp on building apps and working with data comes with access to an exclusive Slack community for live support and weekly office hours with your instructors.
You’ll graduate with a decent-sized portfolio and plenty of experience troubleshooting code.