Python is definitely my favorite programming language. I talk about how much I love Python all the time on Twitter. Naturally, people always ask me, "What are you using to learn Python?" So I'm finally putting this article together featuring 8 resources you can use to learn Python.
Usually, I'm a little wary of posts like this because I don't want to overwhelm anyone with a long list of courses and books. So before you start reading, here's my number one rule.
Work on just a few resources at a time
Also keep in mind, I don't use all of these resources. Even if I haven't personally used a certain course or read a certain book, I've made sure to only include things that I've heard good things about. So rest assured that I'm not randomly recommended resources just because they look cool.
Here's an emoji key to help you navigate the list more easily.
- π©πΎβπ» = I use/have used this resource
- π€ = Paid resource
- 0οΈβ£ = Free resource
- 0οΈβ£π€ = Freemium resource
Books
1. Automate the Boring Stuff With Python π©πΎβπ»0οΈβ£π€
This is probably the first thing someone recommended to me when I first started learning Python. It's an oldie but goodie and I highly recommend it.
Navigating the free version of this book is a little tedious but that's what I used. You can also purchase a hard copy or an ebook version of Automate the Boring Stuff With Python.
I love the exercises that are sparsed throughout the book. It gives you an opportunity to immediately apply what you learned. So I highly recommend this book as a starting point for anyone interested in Python.
2. Learn Python the Hard Way 0οΈβ£π€
This is another book that is widely known in the Python community. I haven't read it yet. But I've only heard it's awesome. It's available for free but you can also purchase the hard copy or ebook version of Learn Python the Hard Way here.
Videos
3. Freecodecamp- Learn Python by Building 5 Games 0οΈβ£
I have yet to watch this video since it's more than 6 hours long which doesn't go over well in my brain. But the reason why I'm listing it here is because it's project-based.
If you've read some of my other articles, you'll know that I am a HUGE proponent of project-based learning. With this video, you can learn Python by building 5 Games. This allows you to make direct application of what you're learning.
4. The Come Up YouTube Channelπ©πΎβπ»0οΈβ£
This is an awesome YouTube channel to know whether or not you're learning Python. Bukola Ayodele is a software engineer without a Computer Science degree and she makes videos with tips for people interested in getting into tech.
I love her channel because she also makes videos about beginner-friendly Python projects. She has a few videos where she lists out the resources she used to become a Python developer. Her videos have helped me get a better idea of all the things I can build with Python. She paints a clear picture of how useful Python is.
Courses
5. Codecademy Python Chatbot Courseπ©πΎβπ»0οΈβ£π€
This is one of my favorite resources! Codecademy has tons of Python courses available. I like the chatbot course because it's project-based. I still haven't completed it yet. But I really like it so far.
Codecademy is a freemium resource. So you can get a lot of good material from the free tier. But a lot of projects are reserved for those with a premium subscription. If you're not able to subscribe right now, I still suggest trying one of their Python courses and building a project using the freeCodeCamp video I mentioned earlier.
6. egghead.io Python Course by Will Buttonπ©πΎβπ»π€
This course is great for people that may have used Python in the past but need a refresher. It gives an overview of many of the things you can do with Python without spending too much time on the fundamentals. If you're a complete beginner, I suggest starting with Codecademy first and returning to this course if/when you need a refresher.
Although egghead.io has tons of free front-end courses, this is not a free resource.
Reference Websites
Here are two websites that I regularly reference when I want to check my understanding of certain Python concepts. They're handy to have bookmarked just in case you need a quick solution or you have a question you need cleared up. I find it's easier to parse through these references first. Then I'll search Google if I can't find what I'm looking for.
7.Learn Pythonπ©πΎβπ»0οΈβ£
8. Intro to Programming with Pythonπ©πΎβπ»0οΈβ£
Conclusion
I hope you found this helpful! Remember, try to choose two or three things to stick to and complete. You'll end up with a solid foundation in Python.
Please feel free to add some of your own suggestions in the comments! And stay tuned for more Python and Cloud related content. Thank you for reading!!
Top comments (14)
Oh thanks for sharing! i definitely find some of these helpful to learn python, iβve dabbled with some them and i need to check out the rest! whatβs your favourite go to out of those resources? i wrote a blog post about building an event driven application with python, check it out and let me know what you think!
Hmmm... Probably a tie between Automate the Boring Stuff and Codecademy. And I'll definitely check it out! Thanks for reading!
Don't forget good practice. The best way I have found for myself is to practice, make toy examples, anything that involves me thinking in my own way. It helps build problem-solving skills and helps me answer those questions that I would have immediately after starting a project.
Absolutely! I have some other posts that talk about tips for optimal learning. I just wanted to focus on resources in this post π
I would like to add Real python in this list
Omg yes!! Canβt believe I forgot that one! Thanks for mentioning that!
Great resource
+1 for ATBSWP! It's def my favorite resource for Python - I also feel it helps take away some of the fear of both coding and the term 'automation'. Thanks for this list!
Yes! Good point! Thanks for reading π
Awesome thanks for sharing those great resources with us ππ
Glad you enjoyed it Peterπ
Really helpful article Ceora! Great resources
Thank you!!
Great article as always.
For those just starting out in programming, a great initial exposure is py4e.com/ as well as the textbook and corresponding free FutureLearn course