Further reading

Many good books have been published on Python. Furthermore, there are lots of great websites covering many aspects relevant to the programming language.

Scientists interested in programming with Python may be interested in the Scipy Lecture Notes available online as HTML as well as (beautifully typeset) PDF versions.

Books

General books on Python

There are a few books that – until now – do not exist in a new enough version to cover recent aspects of Python, such as “The Hitchhiker’s Guide to Python” [Reitz and Schlusser, 2016] or the “Python Cookbook” [Beazley and Jones, 2013]. Nevertheless, both clearly have their merits, and the “Hitchhiker’s Guide to Python” has a lot of good and timeless advice for (Python) programming in general.

An excellent introduction in the way of solving problems with Python, rather for beginners without a strong background in programming, is [Downey, 2024].

Very dense and assuming a fair understanding of programming in general, but very valuable and quite recent, is [Martelli et al., 2023].

Those interested in getting more out of Python and improving their Python programming skills may look at [Slatkin, 2024] and [Ramalho, 2022]. Both are definitely no introductory texts.

Rather specialised are the two books (co)authored by Harry Percival: [Percival, 2025] focussing on test-driven development of web applications with Python, and [Percival and Gregory, 2020], showing how you can craft sensible software architecture and large-scale applications with Python.

Python for (data) scientists

Python for (data) scientists usually covers the “classical” Python libraries/packages for scientific computing, as there are: numpy, scipy, matplotlib, pandas, sympy. Typical examples are the books by [McKinney, 2022] and [VanderPlas, 2023]. More focussed on actual scientific problems is [Hill, 2020]. An intentionally short overview is [Steward and Mommert, 2023].

Chemists interested in chemical problems (mostly from physical chemistry) that can be solved numerically may find a wealth of interesting things in [Hill, 2023], together with an introduction to the Python programming language “on the go”.

Two books providing a more general introduction to using computers in special fields of science are [Scopatz and Huff, 2015] focussing on physics and [Allesina and Wilmes, 2019] aiming at biologists. Both are worth reading of course by other scientists as well, although the examples may be from the respective fields.