Python is considered 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.
- 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.
- Tutlane Tutorials - This website provides online tutorials, articles about various programming languages (but not only). While we didn't have a chance to browser other topics, their section about Python is very wide and detailed. You will find there, information for absolute beginners and more advanced users, because the content is progressing with each step.
- TechBeamers - Another website that focuses on various programming languages and Python is among them. What makes it different from others? The incredible amount of materials. TechBeamers, have quizzes, a section about tricks and tips, classes, Q&A for users, and much more. It's a very big library of information dedicated to Python!
- Python Tutorial for Beginners - It's a very simple tutorial for beginners from Intellipaat, that contains the most important information for those that want to start their journey with Python. Easy to follow, with lots of details and tricks that can be used in the future!
- "A Byte of Python" is a free book on programming using the Python language. It serves as a tutorial or guide to the Python language for a beginner audience. This book will teach you to use Python version 3. There will also be guidance for you to adapt to the older and more common Python version 2 in the book.
- The Python Guru is a website that contains both, beginner and advanced content. However, the main focus is on the beginner's content. You will learn everything you need to know about python, each lesson expands on the previous one, so it is recommended to go through topics step by step.
- Great Learning, published a brand new guide - Python Tutorial For Beginners. If you are wondering how to start this tutorial might be just for you!
- Python for You and Me – A complete step-by-step guide to installing and using Python. Excellent for beginners, but it also covers many advanced features.
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.
- Mark Pilgrim created two versions of Dive Into Python, one for Python 2 and the other for 3. Both are 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.
- Learn Python - Full course for the Beginners from FreeCodeCamp - A YouTube channel with many other materials. The course about Python has more than four hours and covers the most important parts. It's focused on Python 3.
- Python Tutorial - Python for Beginners (2020 EDITION) - From the Youtube channel Programming with Mosh you get an hour of examples, interactive tutorial created for beginners!
- Python Tutorial for Beginners - This course is a big one. You get 11 hours of raw materials, the instructor shows some interesting tricks and tips that can be hardly found in other tutorials. It worth watching!
- Telusko - It's a YouTube channel dedicated to various programming languages. It's included in the list because there is a big section focused on Python, but the instructor has videos in Hindi.
- HackingLoops is a blog with various content for hackers. You will find there, plenty of tutorials and guides about various hacking techniques. It's definitely a place worth checking out. They also have articles about Python. Those are mostly oriented for ethical hackers, therefore basic knowledge is required to understand the instructions. We highly recommend reading Why Hacking With Python Is The Only Way and How to Automate Web Reconnaissance Using Python Scripts.
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!
- London App Developer published recently a five hours long youtube tutorial about Python. The speed and logic of explaining are very well-paced, so you won't have a problem with following the instructions.
- Great Learning has another great content for beginners. The video tutorial on the YouTube channel covers most important aspects and the instructor explains everything.
- Socratica- In this exceptionally well-produced series of videos, Socratica takes you from installation to Python mastery. This series of 33 short videos, each one perfectly narrated and beautifully illustrated, will help you understand every lesson. Note however that they are a bit dated and also cover a few Python 2 concepts, which you can skip.
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.
- Programming Fundamentals in Python is an interactive tutorial from Thinkful. It's a company that contains online courses from different areas of cybersecurity. While we are focusing here on Python, you might find other resources on their website. In this particular interactive tutorial, you're going to learn Python fundamentals by creating a tamagotchi style "Pypet" (python-pet).
- Code Combat is a community project that is constantly evolving. It's an innovative game-based learning technology dedicated to students, parents, and educators. It's a very unique way to learn Python (and other programming languages). The website contains live classes, leagues, the possibility to create your own levels, and much more!
- Programiz - Their main mission is to help users learn about programming. They constantly working to create programming content that covers new areas. When it comes to Python they have plenty of materials, video tutorials, and examples. What's more, they also have an app available in google and apple store so you learn from any place.
- Snakify.org is a fun website to learn Python online and practice it with a lot of different exercises. Every lesson is built in the same way: theory, step, and problems. You’ll go through interactive exercises to test your knowledge.
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!