
Unlock Python's power with the world's bestselling programming guide (1.5+ million copies sold). From game development to data visualization, this hands-on crash course transforms beginners into coding pros. What career-changing project will you build first?
Eric Matthes is the bestselling author of Python Crash Course and an educator renowned for making programming accessible to beginners worldwide.
His hands-on, project-based guide to Python—now in its third edition—has become the definitive introductory programming text, blending clear instruction with real-world applications in data visualization, web development, and game design.
A former high school physics and math teacher from Alaska, Matthes refined his teaching methods through decades of classroom experience before transitioning to full-time writing and open-source development in 2019. He maintains active engagement with readers through his website (ehmatthes.com) and programming tools like Django Simple Deploy, while his popular Python cheat sheets continue to help learners master core concepts.
Python Crash Course has sold over 1.5 million copies, been translated into 14 languages, and remains the best-selling Python book globally, trusted by universities, coding bootcamps, and self-taught developers alike.
Python Crash Course, 3rd Edition is a hands-on, project-based guide to learning Python 3. It teaches programming fundamentals like variables, loops, and error-handling, then applies these concepts to real-world projects, including 2D game development, data visualizations, and web apps using Django. The updated third edition covers modern tools like Plotly, pytest, and Tailwind CSS, emphasizing clean code and practical problem-solving skills.
This book is ideal for beginners with no prior coding experience, as well as learners seeking to build Python fluency through projects. Eric Matthes’ clear explanations and exercises cater to all ages, making it suitable for students, career changers, or hobbyists interested in game development, data analysis, or web applications.
Yes—it’s a global bestseller praised for blending foundational Python theory with engaging projects. Reviews highlight its structured approach to teaching syntax, testing, and deployment, with practical examples like Space Invaders-inspired games and interactive data dashboards. Updated code and tools ensure relevance for 2025 learners.
The third edition adds coverage of VS Code, pathlib for file handling, pytest for testing, and updated libraries like Django and Matplotlib. Enhanced error-handling tutorials, fresh project datasets, and modern frameworks like Tailwind CSS provide a streamlined learning experience for Python 3.x.
Key projects include building a 2D arcade game (inspired by Space Invaders), creating data visualizations with Matplotlib/Plotly, and developing web apps using Django. These hands-on tasks reinforce programming concepts while teaching deployment, API integration, and responsive design.
The book teaches pytest for testing, Pygame for game development, Django for web apps, and data tools like Matplotlib, Plotly, and pandas. It also introduces VS Code, pathlib, and virtual environments, ensuring learners master industry-standard workflows.
Eric Matthes breaks down OOP principles through class-based examples and exercises, while error-handling is taught via debugging techniques and pytest integration. Projects like game development and web apps contextualize these concepts, emphasizing clean, maintainable code.
Unlike theory-heavy texts, Matthes’ guide prioritizes project-based learning. It uniquely combines syntax basics with advanced topics like API integration and deployment, rivaled only by niche-specific books. Its focus on real-world applications sets it apart for learners seeking tangible outcomes.
Yes—the book’s Django project guides readers through building and deploying a web app, covering databases, user authentication, and styling with Tailwind CSS. These lessons provide a foundation for full-stack development and portfolio-ready projects.
While not exclusively a data science book, it teaches critical data skills using Matplotlib, Plotly, and pandas. The data visualization projects offer hands-on experience in analyzing datasets, creating interactive charts, and presenting insights—key competencies for entry-level data roles.
Some advanced programmers note the early chapters cover basic syntax they may already know. However, reviewers agree the project-based structure and gradual complexity make it ideal for its target audience: beginners seeking a comprehensive, practical primer.
With updated content reflecting Python 3.x’s latest features and tools like Django and Plotly, the book stays aligned with industry trends. Its project-first approach ensures learners build skills applicable to AI, web development, and data analysis—fields increasingly reliant on Python.
Feel the book through the author's voice
Turn knowledge into engaging, example-rich insights
Capture key ideas in a flash for fast learning
Enjoy the book in a fun and engaging way
Python keeps things simple.
Python's lists emerge as one of its most powerful features.
Break down key ideas from Python Crash Course into bite-sized takeaways to understand how innovative teams create, collaborate, and grow.
Distill Python Crash Course into rapid-fire memory cues that highlight key principles of candor, teamwork, and creative resilience.

Experience Python Crash Course through vivid storytelling that turns innovation lessons into moments you'll remember and apply.
Ask anything, pick the voice, and co-create insights that truly resonate with you.

From Columbia University alumni built in San Francisco
"Instead of endless scrolling, I just hit play on BeFreed. It saves me so much time."
"I never knew where to start with nonfiction—BeFreed’s book lists turned into podcasts gave me a clear path."
"Perfect balance between learning and entertainment. Finished ‘Thinking, Fast and Slow’ on my commute this week."
"Crazy how much I learned while walking the dog. BeFreed = small habits → big gains."
"Reading used to feel like a chore. Now it’s just part of my lifestyle."
"Feels effortless compared to reading. I’ve finished 6 books this month already."
"BeFreed turned my guilty doomscrolling into something that feels productive and inspiring."
"BeFreed turned my commute into learning time. 20-min podcasts are perfect for finishing books I never had time for."
"BeFreed replaced my podcast queue. Imagine Spotify for books — that’s it. 🙌"
"It is great for me to learn something from the book without reading it."
"The themed book list podcasts help me connect ideas across authors—like a guided audio journey."
"Makes me feel smarter every time before going to work"
From Columbia University alumni built in San Francisco

Get the Python Crash Course summary as a free PDF or EPUB. Print it or read offline anytime.
Python has earned its reputation as the perfect first programming language for good reason. Unlike other languages that drown beginners in complexity, Python strips away unnecessary syntax to focus on what matters - solving problems. Imagine trying to display a simple message. In Python, you simply write `message = "Hello world!"` followed by `print(message)` and you're done! This readability isn't just beginner-friendly; it's a deliberate design philosophy that benefits programmers at all levels. Behind this simplicity lies surprising sophistication. Python variables aren't "boxes" holding values but rather "labels" pointing to data. This distinction becomes crucial as you build more complex applications. The language excels at string manipulation with intuitive methods like `name.title()` to properly capitalize "ada lovelace" into "Ada Lovelace." Recent versions introduced f-strings that make text formatting beautifully straightforward: `f"Hello, {name}!"` automatically inserts your variable's value. Even mathematical operations follow natural intuition - addition, subtraction, multiplication, and division work as expected, with `**` handling exponents (so `3**2` equals 9).