According to the Tiobe Index Python is the most used programming language in the world. Also, it is in high demand since it is used by all of the world’s leading firms. As of today, there is no better time to learn Python and this can be done with YouTube, books, or websites.
Within this article, I have compiled a list of the best channels that I follow, interesting books that I earn, and websites that I have experience with.
If you want to learn Python, you will have a vast collection of resources to choose from. On YouTube, you will find plenty of channels with a simple search.
To help you find good resources to start with I come up with the following seven channels.
- Created: 17 Dec 2014
- Creator: Quincy Larson
- Subscribers: 5.18M
- Channel Link: https://www.youtube.com/c/Freecodecamp
freeCodeCamp.org is a well-known resource among programmers. It was created by Quincy Larson back in 2014 with the aim of making programming easier and accessible for anyone without paying a fee.
This YouTube channel is one of the best resources for learning nearly every programming language including Python. In addition to tutorials for absolute beginners, they also offer Python-related video tutorials for professionals. They also cover Deep Learning or Data Analysis.
Furthermore, the freeCodeCamp website offers certification programs for a number of domains, including Python (and many more).
- Created: 07 Oct 2014
- Creator: Mosh Hamedani
- Subscribers: 2.34M
- Channel Link: https://www.youtube.com/channel/UCWv7vMbMWH4-V0ZXdmDpPBA
Programming with Mosh was created in 2014 by Mosh Hamedani and provides tutorials for upcoming Python developers. He has a clear and concise way of presenting topics. His videos usually are long but they are well-structured with plenty of timestamps, making navigation through the videos painless.
- Created: 26 Feb 2016
- Creator: YK Sugishita
- Subscribers: 1.79M
- Channel Link: https://www.youtube.com/csdojo
CS Dojo was created by YK Sugishita, who was a former Microsoft intern and an ex-Googler. Within his video tutorials, he follows a code-along approach to enable his viewers to practice writing code side-by-side with him while solving practice exercises.
Additionally, he describes the topics in a completely transparent and unclouded way to his viewers which makes the videos easy to follow.
- Created: 17 Dec 2012
- Creator: Harrison Kinsley
- Subscribers: 1.11M
- Channel Link: https://www.youtube.com/user/sentdex
Sentdex is a YouTube channel that is beginner-friendly and suitable for new developers as well as intermediate ones. It was created in 2012 by Harrison Kinsley and mainly covers topics related to Python.
In his video tutorials, Harrison follows a practical approach to the topics rather than going with the theoretical approach.
- Created: 01 Jun 2006
- Creator: Corey Schafer
- Subscribers: 898k
- Channel Link: https://www.youtube.com/channel/UCCezIgC97PvUuR4_gbFUs5g
Corey Schafer created his primarily Python-focused YouTube channel in 2006 and provides convenient tutorials and walkthroughs for programmers of every skill level.
It contains everything from setting up your development environment to tutorials about advanced concepts in Python.
In his tutorials, Corey is focused that a viewer will get a solid understanding of the foundational concepts in Python that then could be used in several follow-up tutorials on his channel
- Created: 29 Apr 2014
- Creator: Navin Reddy
- Subscribers: 1.64M
- Channel Link: https://www.youtube.com/c/Telusko
Telusko is a YouTube channel that makes learning as fun and interesting as possible. Navin Reddy created the channel in 2014 and covers nearly every topic in Python in a playful and clear way.
This channel is a good starting point for developers who are new to programming in general and want to take simple steps in the world of Python programming.
- Created: 22 May 2013
- Creator: Dan Bader
- Subscribers: 146k
- Channel Link: https://www.youtube.com/c/realpython
Real Python’s YouTube channel was created in 2013 by Dan Bader and is one of the most reputed learning resource providers for people interested in learning Python. It is your one-stop shop for learning a huge amount of topics that are beyond the foundational stuff.
It is designed for people that are already familiar with Python and are looking to strengthen their skills in different advanced topics. Also, the YouTube channel offers everything from beginner-friendly tutorials, to weekly podcasts, and coverage of Python events.
Python Crash Course by Eric Matthews is a fast-paced and comprehensive introduction to Python language. It is written for beginners who want to learn Python programming to write useful programs.
This book focuses on speed to enable the reader to write real programs in no time at all. It is designed for programmers that have a basic understanding of Python and want to test their skills before creating real-life applications with Python.
You will learn libraries and tools such as Pygame, Matplotlib, Plotly, and Django and will use data to create interactive visualizations.
The book consists of two parts. Within the first part, some Python basics and concepts will be explained. You will be taught to write clean and readable code to create interactive Python programs. The second part follows a practical approach and tests your knowledge by presenting three different projects: space invaders-inspired arcade game, a set of data visualizations with Python’s handy libraries, and a simple web app that you can deploy online.
Automate the Boring Stuff with Python by Al Sweigart is a book that teaches Python3 to everyone, including technically inclined beginners, juniors, seniors, and other geeks around the world. It covers step-by-step instructions and explains each program in detail to enable you to write programs quickly and efficiently in Python.
Within the first part of the book, you will learn Python’s basics and explore several libraries to perform tasks like data scraping of websites, reading PDF or word documents, and automating typing and clicking. The second part includes input validation and tutorials on automating Gmail and Google Sheets. Also, it describes how you can automatically update CSV files. Additionally, you will learn how to automate several tasks with Python including searching for text in multiple files, creating/updating/moving/renaming files or folders, searching the web and downloading content, filling out forms on websites, and many more.
Learning Python is a comprehensive, in-depth introduction to the core Python language by Mark Lutz and is based on his popular training course. The latest version of the book helps you to quickly write efficient, high-quality code. The book is designed for everyone who wants to learn Python including new developers, intermediates as well as professional ones.
You will explore Python’s major built-in object types such as numbers, lists, and dictionaries and create/process objects with Python statements to learn the general syntax model. Additionally, it will teach you to avoid code redundancy, organize statements/functions, and how package code for reuse.
Furthermore, you will learn about OOP concepts, the exception-handling model, and development tools. The book also covers advanced Python tools like decorators, descriptors, metaclasses, and Unicode processing.
Head-First Python by Paul Barry is a book to learn Python without wrapping up counterproductive tutorials and books. The book will help you to gain a quick grasp of Python programming fundamentals and work with built-in data structures and functions. Afterward, you will create your own web application, exercise exception handling or data wrangling, exploring database management, and other concepts.
This book is different than others because it uses a visually rich format to engage your mind, rather than a text-heavy approach that will put you to sleep. Additionally, it creates a multi-sensory learning experience and is designed for the way your brain really works.
Elements of Programming is a book that contains a collection of 250 problems with detailed solutions based on interview questions at leading software companies. The problems are illustrated with 200 figures, 300 tested programs, and 150 additional variants. It provides several data structures, algorithms, and problem-solving patterns.
The book is separated into a series of chapters on basic and advanced data structures, searching, sorting, algorithm design principle, and concurrency. You will find a brief introduction, a case study, top tips, and a review of the most important library method in every chapter of the book. Then you will have a broad and thought-provoking set of problems.
Furthermore, the book summarizes many nontechnical aspects of interviewing, such as interview strategies, perspectives from the other side of the table, common interview mistakes, and tips on negotiating the best offer.
One of the best places to start your Python developer journey is the official Python website. The creator of the language made a Python tutorial that teaches you the basics of the language. It is designed rather for beginners than seniors who want to learn Python. It has a slow pace with clear imagery and plenty of time to explain nearly every topic.
If you already have heard about Python and are not completely new you could find the official Python tutorial too slow and should use another source for further research.
You should consider using this website if you want to learn Python tips and tricks from Python creators on a site that is created for complete beginners. Also, it is for you if you like a slow pace of learning to make sure every concept is discussed in detail before moving to the next chapter
If you are no new Python developer or the official Python tutorial is too slow for you, CodeWars will be a good place to start. CodeWars is a set of puzzles that helps you to test your Python knowledge and learn about your strength and weaknesses while you learn several algorithms.
CodeWars is some kind of Gamification model for Python and contains many puzzles that are called katas. These catas are categorized according to their difficulty levels. After you finished a puzzle you can check solutions from other developers and learn different strategies.
You should consider using this website if you want to use a Gamification concept, love to solve coding puzzles to test your knowledge, and want to compare with other developers and see or learn from their solutions.
A byte of Python is a free online e-book about Python programming that is not suited for beginners. It requires that you have at least knowledge about the basics of Python programming otherwise you will find yourself lost during reading.
Although it is an excellent site to learn Python if you want to have a book that jumps quickly into all the topics without caring about beginners. If you are a fast learner who can adapt easily or you already know the language this book is perfect for you to strengthen your Python programming skills.
Real Python Tutorials is a website that provides interactive tutorials to you. Also, it's more structured like a blog about Python programming, where you can learn every topic by reading different blog posts one by one.
After you have read about new skills in a blog post you can practice them or jump to another topic with the search function. If you mark blog posts as completed you will be get informed about related topics that will enhance your Python knowledge based on the already completed posts.
You should consider using this website as a resource on its own. It is suitable for beginners and advanced programmers because it covers the basics and provides practical exercises to help you with Python programming. It can be used as a resource to find missing information for problems you will encounter as a Python developer.
FreeCodeCamp.org is a website that contains several blog entries about Python programming (and many other programming languages). Also, it has a well-structured curriculum teaching nearly every aspect of Python programming. You are able to join several courses online that are free and allow you to earn certificates.
FreeCodeCamp is a good learning tool for beginners and seniors. You do not need any requirements to join the courses because the platform provides everything that is necessary to finish the course and receive the certification.
I hope this compilation might be useful for you and help you grow in your development career as a Python developer. If you are new to coding, the best way to learn Python is to just start with it and see how things go. Python is one of the easiest programming languages for beginners (only the basics!), so you won’t have to spend much time troubleshooting your code or learning how the syntax works. You can see results fast and start building your first small programs sooner than you may think.
If I missed your favorite Python video tutorial, the book you loved, or a website you cannot live without please leave me a comment!
I would love to hear your ideas and thoughts about these sources.
If you have any questions, please jot them down below. I try to answer them if possible.