Python Learning Resources
This list will be updated over time. Feel free to suggest resources you’ve found interesting and believe others will benefit from!
Table of Contents
- Coding Style
- Python Courses
- Video Tutorials
- Key Books and Guides
- Intermediate and Advanced Python Books
- Reference Materials
- Podcasts
- Practice Platforms
- Suggested Learning Paths
Coding Style
- The Google style guide for Python
- PEP 8 – Style Guide for Python Code
- Flake8 - Your Tool For Style Guide Enforcement
Python Courses
-
Programming for Everybody (Getting Started with Python)-UMich (Beginner)
An introductory course on Python programming, designed for beginners with no prerequisites. -
CS50’s Introduction to Programming with Python-Harvard (Beginner)
A foundational course from Harvard that integrates theory with practical exercises.
Visit Course -
DATA8: Foundations of Data Science (Beginner) Berkeley’s premier undergrad introductory data class, which serves as a precursor to most computational classes on campus. A great reference to follow along and supplement our in-class material. Visit Course Python Reference
-
How to Think Like a Computer Scientist: Interactive Edition (Beginner)
An interactive guide that introduces Python and computational thinking with hands-on exercises.
Explore the Guide -
Python Crash Course Website (Beginner)
The companion website for “Python Crash Course,” offering additional resources, code samples, and projects.
Visit Website
Video Tutorials
-
Corey Schafer’s Python Tutorials (Intermediate)
A comprehensive series covering Python fundamentals, libraries, and advanced topics.
Watch on YouTube -
Tech with Tim (Beginner to Intermediate)
A YouTube channel offering tutorials on Python, machine learning, and more.
Watch on YouTube -
ArjanCode (Advanced)
Focuses on advanced Python concepts, clean code practices, and software design.
Watch on YouTube
Key Books and Guides
-
Automate the Boring Stuff with Python (Beginner)
A practical guide for automating everyday tasks and solving real-world problems.
Read Online -
Python Crash Course: A Hands-On, Project-Based Introduction to Programming (2nd Edition) (Beginner)
Offers a comprehensive introduction to Python, emphasizing practical projects to solidify learning.
Learn More -
Head-First Python: A Brain-Friendly Guide (2nd Edition) (Beginner)
Presents Python concepts in a visually engaging manner, suitable for learners who prefer an interactive approach.
Learn More
Intermediate and Advanced Python Books
-
Python Tricks: A Buffet of Awesome Python Features (Intermediate) by Dan Bader
Offers valuable insights and lesser-known Python features to improve your programming skills.
View on Amazon
View on Real Python -
Fluent Python: Clear, Concise, and Effective Programming (Advanced) by Luciano Ramalho
Covers Pythonic programming concepts and advanced features in detail.
View on Amazon
View on Publisher Website -
Effective Python: 59 Ways to Write Better Python (Intermediate) by Brett Slatkin
Focuses on Pythonic best practices and techniques for writing efficient code.
View on Amazon
View on Author Website -
Python Cookbook: Recipes for Mastering Python 3 (Advanced) by David Beazley & Brian K. Jones
Provides detailed recipes for solving complex Python challenges.
View on Amazon
View on Publisher Website
Reference Materials
-
Official Python Documentation
The definitive reference for Python programming.
View Docs -
Python Cheat Sheet
A concise, easy-to-use guide for Python syntax and commonly used functions.
Access Cheat Sheet
🎙️ Podcasts
-
Talk Python to Me
Interviews with Python experts on practical applications and emerging trends.
Podcast Website -
Python Bytes
Short episodes highlighting Python news, tips, and tools.
Listen Here -
Storytelling with Data Podcast
Insights into using data visualization to communicate effectively.
Listen Here -
The Data Journalism Podcast
Exploring how Python and programming empower data-driven journalism.
Listen Here
Practice Platforms
-
LeetCode (Intermediate to Advanced)
Practice problem-solving and algorithms with Python challenges.
Visit LeetCode -
Kaggle (Intermediate)
Work with datasets, participate in competitions, and explore machine learning with Python.
Explore Kaggle -
HackerRank (Beginner to Intermediate)
Solve Python challenges and improve your coding skills.
Visit HackerRank -
Codewars (Beginner to Advanced)
Practice Python coding through katas (challenges) and earn ranks.
Visit Codewars
Suggested Learning Paths
Beginners:
- Automate the Boring Stuff with Python
- CS50’s Introduction to Programming with Python
- Python Crash Course
Intermediate:
Advanced:
- Python Cookbook
- Explore advanced tutorials like ArjanCode on YouTube
- Practice advanced challenges on LeetCode