- Python Documentation: everything about Python
- Official Python 3 Documentation: "official"/technical explanation of what a particular function/operator does, examples of correct syntax, what the various libraries are, etc.
- The Python Standard Library: it's nice to know the standard library.
- Reserved Keywords in Python: don't use these as variable names.
- Python for Non-Programmers: If you've never programmed before, the tutorials on this page are recommended for you.
- Python Crash Course, 3rd edition: well written and nicely organized.
- Think Python, 3rd edition: by Allen Downey. This book offers a very "computer science"-style introduction to Python. Free HTML and Jupyter Notebook versions available.
- Automate the Boring Stuff with Python, 3rd edition: Great book for self-study, by Al Sweigart. Free to read online.
- Practical Python Programming: A course by David Beazley
- Dive Into Python: another survey of Python syntax, datatypes, etc.
- The Official Python Tutorial: self-explanatory.
- Learn Python the Hard Way: comprehensive Python course by Zed Shaw (paid, $29).
- Invent Your Own Computer Games with Python: Develop your Python skills by making games or hacking ciphers. Another great book for self-study.
- Python for You and Me: Simple and clear. This is a great book for absolute newcomers, or to keep as a quick reference as you get used to the language. The latest version is Python 3.
- How to Think Like a Computer Scientist: Interactive Edition
- Fluent Python, 2nd Edition: All python3, and focused on getting the advanced details right. Good place to go once you've got the basics. Example code on GitHub.
- Problem Solving with Algorithms and Data Structures
- A Byte of Python
- The Hitchhiker’s Guide to Python: This handcrafted guide exists to provide both novice and expert Python developers a best practice handbook for the installation, configuration, and usage of Python on a daily basis.
- Introduction to Programming with Python: goes over the basic syntax and control structures in Python. The free book has numerous code examples to go along with each topic.
- Learn to program in the Python computer language by creating 2D video games with the Arcade library
- More resources - A curated list of resources about Python in Education
- One-page Python 3 cheat sheet Python 3 Cheat Sheet Comprehensive Python Cheatsheet
- Python Crash Course - Cheat Sheets
- Pysheet
- Python Cheatsheet: Basic cheatsheet for Python mostly based on the book written by Al Sweigart, Automate the Boring Stuff with Python.
- Learn Python in y minutes: provides a whirlwind tour of 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.
- Scientific Python cheatsheet
- Programming-Idioms
- Codecademy: learn Python by building web apps and manipulating data; interactive tutorial sequence.
- edX Python courses
- Udacity - Introduction to Python Programming
- Google's Python Class
- Dataquest.io - Python for Data Science
- Python Course
- Python Tutor: an excellent way to actually visualize how the interpreter actually reads and executes your code. Supports Python, Java, C, C++, and JavaScript.
- DiffChecker: compares two sets of text and shows you which lines are different.
- Python debugging in VS Code
- What does debugging a program look like?
- How to debug small programs
- Debugging guide
- Problem solving skills
- Stack Overflow: a large Q&A forum for programming concepts (not just Python).
- r/LearnPython
- r/Python
- The Python IAQ: Infrequently Answered Questions by Peter Norvig
- Python Programming Exercises, Gently Explained: by the author of Automate the Boring Stuff with Python
- Exercism: beginner friendly and difficulty levels are marked. Free platform with 78 programming languages and human mentorship.
- Coding Bat: problems you can solve within an online interpreter.
- Practice Python: beginner friendly and difficulty levels are marked
- Edabit: beginner friendly and difficulty levels are marked
- r/dailyprogrammer
- Code Golf
- Codewars: improve your skills by training on real code challenges.
- Advent of Code: really fun, more challenging.
- Project Euler: additional programming challenges you can try once your Python knowledge becomes stronger; problems are sorted by increasing difficulty.
- CheckIO: learn Python by exploring a game world
- CodeChef
- Code Combat
- Codingame
- Google Code Jam
- TopCoder
- Codeforces
- Timus Online Judge
- Codechef
- LeetCode Contest
- Sphere Online Judge (SPOJ)
- hackerrank Python challenges
- Beyond the Basic Stuff with Python
- Practical Business Python
- Writing your first Django app: for Django developers.
- Python for Programmers
- How to Develop Quality Python Code: a good read to begin learning about development environments, application dependencies and project structure.
- Python 3 module of the week: a good way to get up to speed with the standard library.
- Composing Programs: shows how to build compilers with Python 3, which is a good undertaking if you're looking to learn both more about the Python language and how compiles work.
- Easy-Python: a list of awesome things you didn’t know you would need.
- Awesome Python: a curated list of awesome Python frameworks, libraries, software and resources.
- Full Stack Python - Best Python Videos
- stackoverflow - Hidden features of Python
- Classic Computer Science Problems in Python — deepens your knowledge of problem solving techniques from the realm of computer science by challenging you with time-tested scenarios, exercises, and algorithms
- GitHub: Collection of design patterns and idioms
- Architecture Patterns with Python — Enabling TDD, DDD, and Event-Driven Microservices
- PEP 8: Style Guide for Python Code: learn what is good and bad style in Python.
- PEP 257 -- Docstring Conventions
- Google Python Style Guide: style guidelines for Google code.
- The Elements of Python Style
It can be helpful to read existing code to get a better idea of how to organize your own programs. Here are some good examples of short Python programs, with explanations:
- Solving Every Sudoku Puzzle
- How to Write a Spelling Corrector
- Natural language processing
- Python Cookbook
updated: 2025/10/03