Instead of calling this book “a primer,” a more apt title would be A detailed treatise on scientific programming with Python. This voluminous book offers an excellent and detailed explanation of programming paradigms and mathematical lexicons. Learning a programming language for the first time is a challenge, because it requires thinking in a different way to write efficient programs. Twenty to 30 years ago, people learned programming in languages like Pascal, C, and Fortran. Python is a modern language, popular with academics and industry professionals for certain tasks. For someone who is well versed in programming languages, this book can become overkill. Downey’s book [1] is a better alternative for someone with prior experience who has limited time and wants to learn Python quickly.
The author includes many programs, explanations, and exercises. The Python programs are neatly embedded in blue shaded boxes and separated by explanations. The book progresses through various control structures like loops, lists, functions, and object-oriented concepts, and shows how to weave them together. Examples include how to plot graphs, draw circles, and execute mathematical functions.
This book will prove very useful for mathematicians and statisticians. Unlike the terse introduction to libraries in [2], this book covers the mathematical concepts beautifully, and programmatically demonstrates them with Python. This really showcases the power of this language. If you are looking to do other things, such as string processing or network programming, this is not the right book for you. This big (really big!) book covers scientific programming in painstaking depth. I applaud the author for his efforts and encourage readers to set aside sufficient time to master the concepts.
I definitely recommend this book to university students for a six-month course or classroom discussions. If someone wants to quickly learn Python concepts, it can be used as a reference.