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

  1. Coding Style
  2. Python Courses
  3. Video Tutorials
  4. Key Books and Guides
  5. Intermediate and Advanced Python Books
  6. Reference Materials
  7. Podcasts
  8. Practice Platforms
  9. Suggested Learning Paths

Coding Style


Python Courses

  • Programming for Everybody (Getting Started with Python)-UMich (Beginner)
    An introductory course on Python programming, designed for beginners with no prerequisites.

    Visit on Coursera

  • 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:

  1. Automate the Boring Stuff with Python
  2. CS50’s Introduction to Programming with Python
  3. Python Crash Course

Intermediate:

  1. Fluent Python
  2. Effective Python

Advanced:

  1. Python Cookbook
  2. Explore advanced tutorials like ArjanCode on YouTube
  3. Practice advanced challenges on LeetCode



This site uses Just the Docs, a documentation theme for Jekyll.