Python is considered as a beginner-friendly programming language and its community provides many free resources for beginners and more advanced users. Our team had gathered the most helpful free materials about Python. Below you will find the whole list. If we missed something, that you would like to recommend leave a comment! We will update our list!
How to start?
If you never had a chance to learn programming and that's your first experience, here you will find free books, blogs, and video tutorials that will help you.
- Let's start with CheersKevin short video about How to Learn to Code where he explains why it's better to think of projects you'd like to build and problems you want to solve with programming. Start working on those projects and problems rather than jumping into a specific language that's recommended to you by a friend.
- CS for All is an open book by professors at Harvey Mudd College which teaches the fundamentals of computer science using Python. It's a perfect read for programming beginners.
- If you've never programmed before check out Laurence Bradford blog Learn To Code with Me . She's done an incredible job of presenting the most important steps in your programming career. With her materials you will quickly understand the basics. She also have a podcast about programming, so it's worth checking!
- Learn Python the Hard Way is a free book by Zed Shaw.
- The Python projects tag on the Twilio blog presents many tutorials about Python and what you can create it with it. It's updated systematically.
- A Byte of Python is a beginner's tutorial for the Python language.
- Introduction to Programming with Python goes over the basic syntax and control structures in Python. The free book has numerous code examples.
- Python Practice Book is a book of Python exercises to help you learn the basic language syntax.
- Python for you and me is an approachable book with sections for Python syntax and the major language constructs. The book also contains a short guide at the end to get programmers to write their first Flask web application.
- Automate the Boring Stuff with Python by Al Sweigart. It’s an amazing book that won't bore you. If you will like it I recommend checking other books written by Al Sweigart. They are all available for free, but you can purchase them too.
- Program Arcade Games with Python and Pygame is another good book about Python. The bonus: it is available for free in multiple languages.
- Python Tutorial for Beginners: Learn Programming in 7 Days is a comprehensive guide for beginners that are looking for a step by step tutorial. This class will teach you python from basics.
- RealPython - The website offers various materials from interactive exercises to tutorials. It's a great place for beginners.
- Learn Python - another amazing website with tutorials prepared for the beginners. What's more, you will find tutorials for other programming languages, so you can try other options as well.
- CodersLegacy - an educational site created to train future generations in the art of Coding. They are not only focused on Python but on other programming languages as well. Beginner and the more advanced user will find interesting information there, as the content is divided into sections to ease the navigation. It also has a side blog where programming related articles are published.
- PythonSpot - another amazing website, that contains a step by step tutorials about Python. The majority of its content covers the beginner area, however, there are other areas such as Android, Network, Data, Databases, and more, that are covered on this website.
- Study Tonight - It's a website that presents lessons about programming languages (Python as well). The tutorials are very detailed, and the visual aspect is also nice. As a bonus Study Tonight added tests and quizzes about certain topics, Python appeared recently, so it's a good moment to check this page out.
Python for experienced users
If you already know the basics of Python or know another language this list will expand your knowledge.
Learn Python in y minutes provides in depth journey into the Python language. The guide is especially useful if you're coming in with previous software development experience and want to quickly grasp how the language is structured.
- How to Develop Quality Python Code is a good material if you are planning to learn about development environments, application dependencies and project structure.
- The Python module of the week chapters are a good way to get up to speed with the standard library. Doug Hellmann is also updating the list for changes brought about from the upgrade to Python 3 from 2.x.
- Composing Programs shows how to build compilers with Python 3, this tutorial is especially useful, if you're looking to learn both more about the Python language and how compiles work.
- Good to Great Python Reads this is a small collection of intermediate and advanced Python articles that focus on nuances and details of the Python language itself.
- Mark Pilgrim created two versions of Dive Into Python, one for Python 2 and the other for 3. Both our worth checking!
- Obey the Testing Goat is a book heavily focused on web programming with Python and how to test that, so keep that in mind.
TryPython is great because the website itself has a built-in Python interpreter. This means you can play around with Python coding right on the website, eliminating the need for you to muck around and install interpreters on your system.
Videos, screencasts and presentations
If you prefer to learn Python programming by watching videos then this is the resource for you. There are dozen of amazing technical tutorials, great speakers that will teach you about the Python. We narrowed the list to our favorite channels.
- PyVideo organizes and indexes thousands of Python videos from both major conferences and meetups.
- Want to learn like they learn in the classroom, video tutorials is the way to go. Then you have to watch the series of Python video tutorials by theNewBoston. You get end to end coverage of Python by following these video tutorials.
- Sentdex created many python programming tutorials, going further than just the basics. Learn about machine learning, finance, data analysis, robotics, web development, game development and more.
Programming Knowledge - it another youtube channel with amazing list of video tutorials for beginners about Python. But that's not it. In their playlist you will find tutorials about other programming languages. All in one!
Curated Python packages lists
awesome-python is an incredible list of Python frameworks, libraries and software.
easy-python is like awesome-python although instead of just a Git repository this site is in the Read the Docs format.
Talk Python to Me focuses on the people and organizations coding on Python. Each episode features a different guest interviewee to talk about his or her work.
- Podcast.init is another regular podcast that presents stories about Python and interviews "with the people who make it great".
- Test and Code Podcast focuses on testing and related topics
- Python Bytes is a new podcast from the creators of the above mentioned "Talk Python to Me" and "Test and Code Podcast".
Import This is a podcast from Ken Reitz and Alex Gaynor with very in-depth interviews with influential Python community members. It's not updated as often as others, but it's still worth checking.
Google's Python Class - The class includes written materials, lecture videos, and lots of code exercises to practice Python coding. The call is designed to introduce Python to people who have a little programming experience.
exercism.io - Exercism uses peer review to improve general programming techniques. The community there is very active, and will comment on your programming techniques. It's the best way to improve your skills and meet some amazing people.
Python Challenge - The Python Challenge is a game in which each level can be solved by a bit of programming. The level of difficulty can get tricky pretty quickly for beginners, but the challenges are still a very fun and useful way to test your skills.
- Computer Science Circles - This website teaches computer programming. This skill is very useful: with programming you can automate computer tasks, make art and music, interpret and analyze survey results, build tools for other people, create custom websites, write games, examine genetic data, connect people with each other, and the list goes on and on.
- How to Think Like a Computer Scientist, Interactive Edition - This interactive book is a product of the Runestone Interactive Project at Luther College, led by Brad Miller and David Ranum. The single most important skill for a computer scientist is problem solving. Problem solving means the ability to formulate problems, think creatively about solutions, and express a solution clearly and accurately. As it turns out, the process of learning to program is an excellent opportunity to practice problem solving skills.
- Practice Python - There are over 30 beginner Python exercises just waiting to be solved. Each exercise comes with a small discussion of a topic and a link to a solution. Every month you will find new exercises.
- w3resource - w3resource.com was created aiming to be the largest online web development resource that beginners can use as a comprehensive learning resource and experienced web developers can use it as a reference.
- Udemy - If you ever looked for the interactive, video based tutorials, you definitely heard about Udemy. The included list contains only free materials, so all you have to do is dive in and start learning Python!
- Grey Campus CodeLabs - It's an easy and convenient environment to learn programming languages. You will find there practical labs and reading materials to deepen your knowledge.
- DeVry University - DeVry has been offering online education for the last 20 years to help students pursue their personal and professional goals. While browsing their offer you will find various other topics related to cybersecurity. This time we would like to focus on one of their courses Programming with Python. It's a quick little workshop (only 1h) that will help you understand the usage of Python.
Did I miss a book or video tutorial that you recommend?
Be sure to leave a comment in the form below and let us know!