New
Fluent Python
Clear, Concise, and Effective Programming with Python's Most Powerful Features
Pages
553
Published
2023
A Hands-On, Project-Based Introduction to Programming in Python
Go from zero Python knowledge to building real projects β a game, a data visualization, and a web app β in a single volume.
Python Crash Course is a fast-paced introduction to Python for anyone who wants to learn the language by doing. The first half builds your foundation: variables, lists, dictionaries, functions, classes, and file handling. The second half puts that knowledge to work in three complete projects. By the end, you will have built a Space Invaders-style game with Pygame, generated data visualizations with Matplotlib and Plotly, and deployed a simple web application with Django.
Python Crash Course cuts straight to the point. In 553 pages, Eric Matthes takes you from your first variable assignment to a deployed web application, a working arcade game, and publication-quality data charts. Every concept is introduced when you need it, and every chapter ends with exercises that confirm you actually absorbed it β not just read it.
The book is split into two clean halves. Part one covers the language itself: data types, control flow, functions, object-oriented programming, exceptions, and file I/O. The pace is brisk but never sloppy. Matthes explains exactly what Python is doing under the hood without turning every page into a detour through computer science theory.
Part two is three independent projects you build from scratch:
The third edition is fully updated for Python 3.11 and reflects current best practices across all three project stacks. The Django project targets Django 4.1. Matplotlib and Plotly examples use current API conventions. Setup instructions cover Windows, macOS, and Linux throughout.
This is the book you hand to a colleague who asks where to start with Python, because it actually finishes what it starts. The projects are complete, the code runs, and the skills transfer directly to real work.
Install Python and set up a working development environment on Windows, macOS, or Linux. Write and run your first program to confirm everything is wired up correctly.
Learn how Python stores and manipulates strings, integers, and floats. Understand variable naming, basic string methods, and how to avoid common type errors.
Create and modify ordered lists of values. Practice slicing, iterating, and using common list methods to add, remove, and reorganize data.
Use for loops and list comprehensions to process collections efficiently. Learn how range() works and how to apply numerical lists to real problems.
Write conditional logic that branches based on data. Understand comparison operators, Boolean expressions, and how to test for membership in lists.
Store and retrieve key-value data with dictionaries. Nest lists and dictionaries inside each other to represent structured, real-world information.
Accept input from users at the command line and use while loops to keep programs running until a condition is met. Build a simple interactive program.
Define reusable functions with parameters, default values, and return values. Learn how to organize code into modules and import them cleanly.
Model real-world objects using Python classes. Write __init__ methods, define instance and class attributes, and use inheritance to avoid repeating code.
Read from and write to files, catch exceptions gracefully, and write basic unit tests with unittest so your programs handle unexpected input without crashing.
No prior experience is required. The book assumes you have never programmed before and builds every concept from scratch before applying it in a project.
The third edition targets Python 3.11 and reflects current library versions including Django 4.1, Matplotlib, and Plotly. It is the most up-to-date edition as of its January 2023 release.
No Starch Press provides companion resources for the book including code files. Check the publisher's website for the official download link associated with this edition.
Yes. Matthes moves quickly through the fundamentals, so experienced programmers will find the first half a fast read rather than a grind. The project section is useful regardless of prior experience.
It covers both at an introductory level. One project uses Django for web development and another uses Matplotlib and Plotly for data visualization, giving you a grounded starting point in each area.
Most readers finish in four to eight weeks working an hour or two per day, though that varies significantly depending on how much time you spend on the exercises and projects.
New
Clear, Concise, and Effective Programming with Python's Most Powerful Features