Python is an elegant, high-level programming language that is relatively easy to learn and includes multiplatform support.
The latter feature is important because generally as a developer you would need to learn multiple languages to cross the barrier between platforms. On mobile, for instance, Android uses Java while Apple’s iOS uses Swift or Objective-C. There are tools to easily port apps and software between separate platforms, but they come with their own set of drawbacks. It’s always better to create a native app.
Python is so deep and easy to learn, that it is one of the most recommended languages among education and research markets. A lot of students start their coding or programming journey by learning Python.
According to a report from Tiobe, Python was in the top five most popular languages for 2016 right at number 5. During the same period last year (April 2015) it was in position number 8. Through that info, you can see just how popular the language has become in such a short time.
It helps that there is an abundance of online tutorials, courses, and educational books about the language.
Just to provide a frame of reference, you could learn the absolute basics of Python within just the first hour of working with the language. The best Python tutorials will actually have you coding simple apps in that time, as well. Obviously, you’re not going to be able to whip up a full-scale application with that small amount of training, but you’ll know enough to dive in and get started.
Where Should You Start?
Python is considered to be one of the easiest programming languages to learn, and because it harbors an incredible amount of depth it is extremely versatile. You can use the language for anything from web development to game development.
Plus, the language serves as a gateway to other, similar languages like PHP, Ruby, and much more.
The best way to learn – especially when it comes to a programming language – is by doing. Therefore, the best way to start learning Python is to choose a lesson or course that peaks your interest and jump in.
When it comes to learning how to code, it is fairly easy to teach yourself.
You don’t need to spend thousands of dollars for a degree or one of the popular coding boot camps. One of the best ways to hone your skills is through practice. That is, trial and error.
To help you get started, we have compiled a huge list of resources that will either help you get started with Python or broaden your understanding if you already know the basics.
We’ll explain which of the options below are more suitable to your tastes — whether you’re at a beginner, intermediate or expert level.
Top 50 Websites to Learn Python
Keep in mind, the first ten resources on this list are some of the best around. The following forty, then, are not listed in any particular order.
1. Code Academy
Code Academy is a free, online learning center for all things programming. They offer lessons in a variety of languages and topics, not just Python.
What makes it special, is that you can write code directly in your browser and see the results pan out live. This is useful when you’re starting out because it eliminates the need to setup a development environment for practice exercises.
This portal is best suited for beginner to intermediate coders. During your time working with Python through Code Academy, you’ll build your own tip calculator tool, and a board game based on Battleship.
Python topics you will learn include common syntax, strings and console output, conditional and control flow, loops, functions, file input and output, lists and dictionaries, and much more.
TutorialsPoint is another site like Code Academy that offers free tutorials with the option to test out code directly in a browser window.
They offer one of the most comprehensive tutorials for novice coders that will take you through the basics and beginner stages of the language all the way to expert level tasks. You will learn how to set up a Python development environment, write basic syntax, work with variables, operators and loops, and much more.
What makes TutorialsPoint’s guide so comprehensive is that it also covers advanced Python topics like database access, CGI, and game programming, the use of multithreading, XML processing, networking, GUI design, and more.
Codementor is designed for intermediate to expert developers who are already working with the language in question. There are some tidbits for beginners scattered throughout, but this is certainly not a portal for novice coders to spend a majority of their time.
Each post on the site is a separate tutorial that covers a specific focus, like sorting Git Authors in an app with code, integrating Node.js with Python, using Python decorators and more.
If you’re the type of person that would much rather be challenged and put under a small amount of pressure to increase your learning capacity, PythonChallenge is right up your alley.
It isn’t the prettiest site in existence; actually, the design is downright ugly. However, the challenges and lessons you will participate in are invaluable to learning Python. There are 33 levels to master currently, with over 2,000,000 visitors to the site to date.
5. Google’s Python Class eBook
Due to the nature of the material, Google’s Python Class eBook is best suited for intermediate to experienced coders. It is well written and clearly explains various concepts related to Python, yet it’s more about programming theory as opposed to the practical application of it. Therefore, you won’t find any step-by-step tutorials or in-depth guides.
This makes it a great travel companion for Python developers who want to stay in the loop while they are on the move.
There are multiple books available, and you can download companion exercises to execute locally on your machine. This allows you to work with and test out different snippets of code.
When in doubt, you can always turn to the official documentation for a language. Python.org is the official channel for the developers of Python, so you can find plenty of references, materials, and resources on working with the language.
As you’d expect, they have a great beginner’s tutorial that will walk you through the basics. Then, you’ll learn about more advanced topics like different Python libraries, distributing modules, and much more.
7. Learn Python the Hard Way eBook
Once again the challenge is the main focus. Learn Python the Hard Way is a free eBook that you can read in full. The online version can be accessed from any device including mobile, and is always free. If you want a paper or digital copy of the book – to read offline – you’ll need to pony up some cash ($30).
Apparently, more than 1.5 million people have read this eBook annually. That’s an impressive number, even more so if they all went on to work with Python in some form or another.
One of the first ideas we discussed is that it’s best to learn by doing. LearnPython.org has designed a platform where you can do exactly that. Rather than spend your time combing over an endless stream of text, this website allows you to participate in interactive tutorials. You get to work with the Python language right in your browser.
You’ll start with the infamous “Hello World,” tutorial and move on to more advanced topics if you stick with the course. This portal is best for beginner to intermediate level coders.
9. Invent with Python eBook
Another way to learn and retain knowledge is to ensure you are having fun and enjoying yourself while you do so. That’s the driving idea behind the Invent with Python eBook.
Every tutorial, tip, and lesson have to do with serving a specific purpose through the use of Python. For instance, the book
For instance, the book Invent Your Own Computer Games with Python will teach you how to make games. With each progressive lesson, the games get more complex and require a more advanced use of the language. By the time you’re done, you’ll have a firm grasp of Python – enough to strike out and build applications or games on your own.
The online versions of the books can always be accessed for free, but there are options to purchase them for access offline too, for a price.
10. Dive into Python 3
Dive into Python 3 is an online book that covers the difference between working with Python 3, as opposed to Python 2. Since it’s licensed under a Creative Commons license you can also download HTML and PDF versions of the book for free.
This book is a great resource for all coders from beginner to experienced, and there’s material here for everyone.
11. Python for Beginners
Although Python for Beginners has been idle for some time it’s under new management. Recently, the site received a design overhaul and some new content in the form of a beginner’s Python tutorial.
As for the regular content on the site, you’ll find a long list of Python coding guides and snippets that you can use in your own projects. For this reason, the site is ideal for Python developers of all skill levels, even those with considerable experienced under their belts.
As the name suggests, Pythonspot is a great place to find a variety of Python-centric resources and tutorials. All content is separate into categories by skill level, tutorial type (like GUI and Network guides), and platform (Android, iOS, etc).
13. Learning Python Magic Methods
Magic method is an advanced concept for object-oriented programming languages. Unfortunately, the official Python documentation doesn’t explain it well.
Refekkettler – the creator of Learning Python Magic Methods – created the site to remedy that problem. Obviously, the material is for intermediate to advanced level Python developers.
It’s essentially an online resource guide; you can also download a PDF version for access offline if need be.
The AfterHoursProgramming tutorial features a native code simulator that allows you to write and deploy code from your browser. It starts off with some basic and simple concepts and moves to more advanced topics. For instance, later exercises walk you through building web applications with some neat interactivity features.
At the end of the course, you can take a pretty extensive quiz to test retention of the knowledge you learned.
15. theNewBoston Basic Python Tutorials
theNewBoston is a popular training crew, renowned for their in-depth video tutorials hosted on YouTube. They have a series of tutorials on Python 3.4 Basics that are phenomenal, especially for newbies.
16. NewCircle Python Fundamentals Training
NewCircle Training is another great channel for coding and beginner tutorials on a variety of subjects. They offer a Python Fundamentals Training series which is just as invaluable as anything else on this list. Video tutorials are excellent if you’re more of a visual learner.
17. A Byte of Python Online Book
Written by Swaroop, A Byte of Python is a beloved online tutorial book that serves as a great beginner resource, as well as a future resource for intermediate coders who might need to look back at thorough documentation.
18. Coursera Python Course by Rice University
Like Code Academy, Coursera offers free online courses for those willing to learn. Most of the courses on Coursera, however, are affiliated with actual colleges and universities.
The Python Course is provided by Rice University and is offered as a 7-course series in two separate parts. It must be followed over the course of several weeks (so you’ll need to have time set aside for this), and you have to register for the online classes like you would at a local college or university. The good news is that it’s free to register and attend the courses.
If you want a certificate to show for your hard work you’ll need to pay extra.
19. Think Python Online Book
This resource also comes in the form of an online book. You can purchase the paper version of Think Python via Amazon if you are so inclined. Otherwise, access to the online version is free.
The book actually aims to teach beginners computer science fundamentals and programming basics. To better explain these topics, it does so by relating the information to Python. So, you’ll learn both the foundation of programming and Python language at the same time.
20. Getting Started with Django Video Series
Django is a convenient, development framework built on the Python language. A framework essentially makes a developer’s job easier by implementing a more modular form of a language.
The Getting Started with Django video series is a great way to introduce yourself to the framework and get a much better understanding of Python in the process.
21. Code School’s Try Python Interactive Coding Environment
If you’re the type of go-getter that doesn’t want to bother with sorting through a heap of text-based tutorials and guides, Code School’s Try Python is just for you.
It throws you into the thick of things and provides an online, interactive environment to begin coding with Python right away.
22. Interactive Python
Runestone Interactive offers a plethora of open-source, online textbooks, for beginner and intermediate level coding classes. Many of them focus on Python, especially their Interactive Python series.
All books are free to access and use, but you’ll want to register for an account (also free) so that you can save your spot – unless you plan to read the textbooks in one sitting, which is highly unlikely.
23. Code Nerd Python Tutorial Videos
Video tutorials are an excellent way to soak up knowledge and skills, and Code Nerd’s Python Tutorial series is no exception to that rule.
The videos are easy to follow, well-written, and cover a range of important topics related to Python.
24. Python Fundamentals
The Python Fundamentals course hosted on Pluralsight isn’t free, unfortunately. However, it happens to be one of the most thorough and informative guides on Python you’ll find. Not only does it explain how to use Python, and elaborate on what certain functions of the language are for, it also explains the natural order of the language. This helps you better understand why things are a certain way in Python compared to other languages.
Keep in mind the price listed below is for a Pluralsight subscription and earns you access to their entire database of tutorials and content, not just this one.
Price: $299 annually ($24.92/mo)
25. Learning to Program Version 3
Alan Gauld is both a moderator and regular contributor for the Python tutor mailing list. He also happens to be responsible for Learning to Program. The site offers beginner tutorials designed to introduce programming newbies to the basic fundamentals of coding.
Version 3 – which is the version linked – centers on the use of Python Version 3.
26. Intro to Computer Science
Udacity is another free online training platform, which hosts an excellent – and free – Intro to Computer Science course. Even though the focus is on computer science and programming as a whole, you’ll primarily be working with Python for the exercises and projects.
During the course, you’ll learn how to build your own web crawler, search engine, and social network using Python.
27. Python Crash Course
Python Crash Course affords several assumptions, the first being that you’re already an experienced developer and understand object oriented programming.
The course is comprised of a series of documents and presentation slides, that are meant to serve as a teaching aid.
28. Python Tutor
29. Real Python
Real Python is a premium online course with multiple subscription levels. With your purchase, you’ll gain access to over 1,300 pages of content, 9 hours of video, exercises, sample files, and course assignments.
Price: Starts at $60
30. Full Stack Python
This portal is for intermediate to experienced developers. If you are already proficient in Python, but would like some more guidance on where to go next, check out Full Stack Python.
You’ll be assigned individual projects to complete like building a certain type of web app, website demo, or module.
If you are familiar with the concept of informatics, PythonLearn is a resource portal you might be interested in. Naturally, it is meant for developers that work with Python on a regular basis.
32. CS for All
Written by professors at Harvey Mudd College, CS for All explores the foundation of computer science through the use of Python. The content is straightforward and accessible, and it was clearly structured to accommodate the layman. That’s not to say experienced developers can’t look to it as a resource, however.
33. Twilio Blog: Python Projects Tag
The versatile company Twilio has turned their blog into something of an authority on all things technology-based. The Python Projects tag narrows down visible content to posts that are directly related to Python.
Each tutorial explores a unique project that you can complete using the language. Some examples include sending selfies without servers using Python, developing a personal ISS tracker, and generating Choose Your Own Adventure style presentations.
34. Intro to Programming with Python
Despite the fact that this resource has another generic sounding name, Introduction to Programming with Python is a great place to find information on Python from basic to intermediate topics. There’s even a section dedicated to what you should do after completing the tutorial.
35. Think Python: How to Think Like a Computer Scientist
O’Reilly, the popular training book provider, has made Think Python: How to Think Like a Computer Scientist available for free online.
There are links to purchase a physical or digital copy of the book too.
36. Web Development: How to Build a Blog
This free Udacity course was created by Steve Huffman, one of Reddit’s founders. As the title suggests, Web Development: How to Build a Blog walks you through basic web development concepts and teaches you how to build web applications with Python.
It is for intermediate coders that already have some experience with the language. Beginners can always start with the Intro to Computer Science or Programming Foundations with Python courses.
37. Learning Python by Matt Makai
Renowned developer Matt Makai wrote a useful post on his personal blog about Learning Python as a beginner. Most importantly, it talks about the best place to start if you have no former programming knowledge and provides some valuable resources – some of which are already on this list.
38. Python for You and Me
Like most of the other free online books in this resource list, Python for You and Me starts with the basics and slowly builds to more complex topics. It made the list because once you complete the main content you can try your hand at creating your first Flask web app using the provided tutorial.
39. Practical Business Python
Practical Business Python is a niche blog that delivers Python scripts, snippets and tutorials to be used in the world of business. You’ll learn about creating advanced Excel workbooks, using Python for data analysis tasks, and much more.
40. Talk Python to Me
Talk Python to Me is an online podcast that features discussions from devs and thought leaders who actually spend their time working with Python. It’s a great way to pick up tips, tricks, and insights from some of the industry’s best influencers.
Because it’s a podcast, you can listen to episodes while you code, or complete other training programs.
41. Learn Python 3 in Y Minutes
This online guide is designed for experienced developers who are migrating from another language. If you already know the basics but want to better understand how Python is structured as a language, Learn Python 3 in Y Minutes is your poison.
42. The Elements of Python Style
The Elements of Python Style is essentially a style guide for the Python programming language. It helps establish a community standard that all developers would do well to follow. This is a valuable resource for everyone, but intermediate to experienced developers will definitely get the most use out of it.
43. The Hitchhiker’s Guide to Python
Borrowing inspiration from the sci-fi novel – and movie – of a similar name, The Hitchhiker’s Guide to Python is a massive reference about the language. There are also introductory guides about the Python dev community, which can be valuable for those just starting out.
A great resource for Python Cheat Sheets and other handy language printouts. This site has been around for a long time and has a very cool graphic representation of popular cheatsheets.
Because Python is so versatile and easy-to-use, developers have come up with a great many tools to use with the language. Awesome-Python is a downloadable list that reveals a ton of frameworks, libraries, and software you can work with as a Python developer.
46. Python Weekly
Python Weekly is a free, email newsletter that keeps you up-to-date on all the Python happenings and current events. You’ll get information about new tutorials, videos, potential projects, and much more.
Gamification is real big these days, and it also happens to be a great way to turn otherwise boring tasks into fun, addictive achievements.
CheckiO takes the process of learning programming and turns it into a game. If you can’t stand reading, watching videos, or listening to podcasts this is sure to steal your attention.
48. Learn Python Programming Fundamentals by Building a PyPet
Remember the Tamagotchi craze from the 90’s? If for some reason you don’t, they were cute, digital pets that kids – and adults – could spend their free time taking care of and playing with. Despite how exhausting that sounds, they were a lot of fun.
This Python Programming Fundamentals course will teach you the basics of the language, all while you work on building your own PyPet – a custom, Python version of a Tamagotchi. It’s a pretty fun and unique way to learn.
49. The Python Guru
The Python Guru is yet another beginner-friendly resource for learning the language.
50. Python Tips
Already know how to use Python and just looking for some tips and tricks you can file away for use later? Python Tips is a blog that includes regular content updates all related to the Python language.
That’s a Huge List of Mobile App Development Websites and Resources!
After reading through the list, you should be able to find at least one website or resource to aid in your mission to learn Python.
If you’d prefer to learn through a more educational or collegiate format, give one of the popular online code schools a try such as Treehouse, Lynda or Code School.
Disclosure of Material Connection: Some of the links in the post above are “affiliate links.” This means if you click on the link and purchase the item, I will receive an affiliate commission. Regardless, I only recommend products or services I use personally and believe will add value to my readers.