About 9 months ago, I had signed on to do undergraduate research in astronomy which my professor told me was going to be "heavily Python based". I had NO previous programming experience. Perusing Amazon for some Python resources, I came across this book which, upon reading the back cover, was written by a physicist, so I thought this would be a good fit for me (I'm a physics major) -- and I wasn't wrong.
In the first few chapters, Hill will teach you the essentials of the Python language, including a little interlude about making plots with Pylab in Chapter 3. Throughout the rest of the book, you will learn how to use a few Python libraries which are instrumental in science work like Numpy, Matplotlib, and SciPy. In each of these chapters there are plenty of examples with all the code needed to try them for yourself. Appendix A contains solutions for the exercises at the end of the chapters (and not just every odd-numbered exercise). One quality-of-life feature that I like about this book is the index which lists page numbers for the methods used in the Python libraries (e.g. fig.addsubplot(), np.genfromtxt(), etc.).
In my undergrad astronomy research, I was tasked to write a Python program which could read-in a few thousand astronomical images of a black hole X-ray binary (using the Numpy method np.genfromtxt() which is covered in this book), turn them into data that Python could read, and produce plots using all that data. During one of our observing runs, our campus observatory telescope was malfunctioning (the telescope wasn't tracking properly) and I was tasked to extract specific bits of data contained in the astronomical images (FITS file header), generate plots using that data to help both us and the telescope engineer understand the problem. This book was helpful to me in all of those cases.
This book isn't an all-encompassing book on everything one could do with Python, however. (You won't be learning about machine learning and building a neural network in this book, for example). But if you're in the sciences like me, and want to learn Python in the context of science, this would be a useful resource for you as it was to me.
Learning Scientific Programming with Python 1st Edition
by
Christian Hill
(Author)
| Christian Hill (Author) Find all the books, read about the author, and more. See search results for this author |
ISBN-13: 978-1107428225
ISBN-10: 110742822X
Why is ISBN important? ISBN
Scan an ISBN with your phone
Use the Amazon App to scan ISBNs and compare prices.
This bar-code number lets you verify that you're getting exactly the right version or edition of a book. The 13-digit and 10-digit formats both work.
Use the Amazon App to scan ISBNs and compare prices.
Add to book club
Loading your book clubs
There was a problem loading your book clubs. Please try again.
Not in a club? Learn more
Join or create book clubs
Choose books together
Track your books
Bring your club to Amazon Book Clubs, start a new book club and invite your friends to join, or find a club that’s right for you for free.
Only 14 left in stock - order soon.
Ships from and sold by Amazon.com.
More Buying Choices
There is a newer edition of this item:
Learn to master basic programming tasks from scratch with real-life scientifically relevant examples and solutions drawn from both science and engineering. Students and researchers at all levels are increasingly turning to the powerful Python programming language as an alternative to commercial packages and this fast-paced introduction moves from the basics to advanced concepts in one complete volume, enabling readers to quickly gain proficiency. Beginning with general programming concepts such as loops and functions within the core Python 3 language, and moving onto the NumPy, SciPy and Matplotlib libraries for numerical programming and data visualisation, this textbook also discusses the use of IPython notebooks to build rich-media, shareable documents for scientific analysis. Including a final chapter introducing challenging topics such as floating-point precision and algorithm stability, and with extensive online resources to support advanced study, this textbook represents a targeted package for students requiring a solid foundation in Python programming.
Frequently bought together

- +
- +
Total price:
To see our price, add these items to your cart.
Some of these items ship sooner than the others.
Choose items to buy together.
Customers who viewed this item also viewed
Page 1 of 1 Start overPage 1 of 1
Editorial Reviews
Review
'This book is well illustrated and is supported by an extensive collection of resources online in the book’s website, scipython.com. This site has code listings and solutions to exercises. I would readily recommend this book to any student (or even a colleague) who wishes to achieve a solid foundation in Python programming.' Vasudevan Lakshminarayanan, Contemporary Physics
Book Description
Learn to master basic programming tasks from scratch with real-life scientific examples in this complete introduction to Python.
About the Author
Christian Hill is a physicist and physical chemist at University College London and the University of Oxford. He has over twenty years' experience of programming in the physical sciences and has been programming in Python for ten years. His research uses Python to produce, analyse, process, curate and visualise large data sets for the prediction of the properties of planetary atmospheres.
Tell the Publisher!
I'd like to read this book on Kindle
Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.
I'd like to read this book on Kindle
Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.
Product details
- Publisher : Cambridge University Press; 1st edition (February 1, 2016)
- Language : English
- Paperback : 458 pages
- ISBN-10 : 110742822X
- ISBN-13 : 978-1107428225
- Item Weight : 1.98 pounds
- Dimensions : 6.9 x 0.9 x 9.7 inches
- Best Sellers Rank: #1,109,357 in Books (See Top 100 in Books)
- #663 in Mathematical Physics (Books)
- #1,284 in Python Programming
- #1,671 in Physics (Books)
- Customer Reviews:
About the author
Follow authors to get new release updates, plus improved recommendations.

Discover more of the author’s books, see similar authors, read author blogs and more
Customer reviews
4.8 out of 5 stars
4.8 out of 5
73 global ratings
How customer reviews and ratings work
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on Amazon
Top reviews
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
5.0 out of 5 stars
An excellent resource for learning and working with Python written by a scientist for scientists.
Reviewed in the United States on September 14, 201820 people found this helpful
Report abuse
Reviewed in the United States on August 14, 2018
This book makes it extremely easy to learn how to use python for scientific programming. I learned how to use python for media manipulation more than a year ago but I haven't used it since so the first 4 chapters of the book were great for getting me up to speed again and showing me new basic functions. The real meat of the book starts at chapter 6. Here I actually learned how to use python for what I wanted it for and this is something I couldn't learn at my university course. I'm a senior in applied computation and mathematics at my university but this book gave me the skills and confidence to translate the mathematics I have learned into programming. I'm looking forward to using this to boost my portfolio.
9 people found this helpful
Report abuse
Reviewed in the United States on February 24, 2018
While there are many online Python tutorials, this book has two key advantages.
First, this book is complete. It is meant to be read from cover to cover. The text, examples, exercises, and problems complement each other and highlight important features which a programmer is likely to use in practice. Unlike a cookbook, which would provide recipes for specific tasks, this book has been thoughtfully designed to teach key principles.
Second, the choice of examples, exercises, and problems is outstanding. Many online tutorials provide simple examples to illustrate the syntax. But in this book, the examples solve actual problems which are interesting and useful. At the same time, the examples are neither too long nor so specialized that they would be of interest to only specialized audience.
This book is also very reasonably priced.
First, this book is complete. It is meant to be read from cover to cover. The text, examples, exercises, and problems complement each other and highlight important features which a programmer is likely to use in practice. Unlike a cookbook, which would provide recipes for specific tasks, this book has been thoughtfully designed to teach key principles.
Second, the choice of examples, exercises, and problems is outstanding. Many online tutorials provide simple examples to illustrate the syntax. But in this book, the examples solve actual problems which are interesting and useful. At the same time, the examples are neither too long nor so specialized that they would be of interest to only specialized audience.
This book is also very reasonably priced.
8 people found this helpful
Report abuse
Reviewed in the United States on April 16, 2017
This is the most exhaustive book on the application of Python to scientific and engineering computations.
The author's exposition is clear.
You will not only learn Python but scientific and engineering computation too.
The author covers Linear Algebra too.
The author's exposition is clear.
You will not only learn Python but scientific and engineering computation too.
The author covers Linear Algebra too.
9 people found this helpful
Report abuse
Reviewed in the United States on March 3, 2019
Buy this version if it isn't a high priority from the profs. It it very well writen and covers all the relavent subjects such as "Plotting with pylab" or "Metplotlib". The latest edition is very expensive.
3 people found this helpful
Report abuse
Reviewed in the United States on November 7, 2019
very enjoyable volume on using Python in scientific applications. Since I am a mathematical physicist with a strong background in programming and applied work I found this book very useful.
One person found this helpful
Report abuse
Reviewed in the United States on May 1, 2021
Love it
Reviewed in the United States on July 29, 2019
Very nicely written and illustrated
2 people found this helpful
Report abuse
Top reviews from other countries
Martin
5.0 out of 5 stars
An excellent introduction to Python for scientists
Reviewed in the United Kingdom on January 26, 2020
Overall I really like this book and as a complete newbie to Python I found it a great way to learn the language. It gives a general introduction to the core language and the popular modules of NumPy, SciPy and Matplotlib before demonstrating how these can be utilised to solve scientific problems in interesting and challenging examples. Each chapter contains simple exercises (with answers at the back) and longer, more difficult problems (without answers).
Pros: detailed and comprehensive introduction to the main modules used in Python for scientific programming (and many other types of programming); online support to the book via the author's website which includes further examples and exercises, as well as a list of errata.
Cons: There are a lot of typos and errors in the book, it is in need of a second edition to iron these out. Many are addressed on the website but I found numerous others; Some of the chapters are irrelevant now, IPython and PyLab are both deprecated and the Pandas library is much more widely used than NumPy structured arrays. Again, I think a second edition is required.
Pros: detailed and comprehensive introduction to the main modules used in Python for scientific programming (and many other types of programming); online support to the book via the author's website which includes further examples and exercises, as well as a list of errata.
Cons: There are a lot of typos and errors in the book, it is in need of a second edition to iron these out. Many are addressed on the website but I found numerous others; Some of the chapters are irrelevant now, IPython and PyLab are both deprecated and the Pandas library is much more widely used than NumPy structured arrays. Again, I think a second edition is required.
One person found this helpful
Report abuse
EJ
5.0 out of 5 stars
Handy Guide to Scientific Programming with Python 3
Reviewed in the United Kingdom on March 24, 2016
If you're starting out with scientific programming and want to get to grips with python, or have been using python 2 for a while and want a handy concise reference guide to help you convert to python 3, this is the book for you!
No prior knowledge is assumed, so if you haven't touched python before never fear! Learning Scientific Programming with Python by Christian Hill is here! It even includes instructions for installation on Windows, Mac OS X and Linux.
The book walks you through the core python language and useful modules for scientific programming (Numpy, Scipy and Matplotlib) with user friendly descriptions, examples and exercises. The book even has a website, scipython .com, where you can download code examples and exercise solutions.
One general comment, there is a more recent version of IPython Notebook (described in Chapter 5) called Jupyter, more information available
from Jupyter .org.
I highly recommend this book to pythonic people and future pythonic people alike.
No prior knowledge is assumed, so if you haven't touched python before never fear! Learning Scientific Programming with Python by Christian Hill is here! It even includes instructions for installation on Windows, Mac OS X and Linux.
The book walks you through the core python language and useful modules for scientific programming (Numpy, Scipy and Matplotlib) with user friendly descriptions, examples and exercises. The book even has a website, scipython .com, where you can download code examples and exercise solutions.
One general comment, there is a more recent version of IPython Notebook (described in Chapter 5) called Jupyter, more information available
from Jupyter .org.
I highly recommend this book to pythonic people and future pythonic people alike.
6 people found this helpful
Report abuse
Konichiwakitty
5.0 out of 5 stars
Great book with clear explanations and examples
Reviewed in the United Kingdom on March 5, 2017
I highly recommend this book. I initially borrowed this book from the library but purchased it after finding it to be really useful throughout my learning.
The book comes with clear explanations accompanied by example of code applications. Each section is also followed my exercises which helps asses understanding. The best part is the exercises comes with SOLUTIONS at the back of the book and available online too!
This book has helped me through even the tiniest information most books thought unnecessary to include. I'm a complete beginner and this book is more than enough!
The book comes with clear explanations accompanied by example of code applications. Each section is also followed my exercises which helps asses understanding. The best part is the exercises comes with SOLUTIONS at the back of the book and available online too!
This book has helped me through even the tiniest information most books thought unnecessary to include. I'm a complete beginner and this book is more than enough!
4 people found this helpful
Report abuse
Amazon Customer
5.0 out of 5 stars
but this is probably the best book to start with
Reviewed in the United Kingdom on October 27, 2017
I own, and have tried to read, a few Python books (I am an experienced programmer in other languages). This is the only one that I am persisting with (quarter way through) because (1) it's concise and to the point (2) it has interesting and engaging exercises that educate while at the same time teaching you Python e.g. estimate pi using an an ancient Indian infinite series (the Madhava series) (3) it introduces you to some essential external libraries: Numpy, Matplotlib and Scipy and (4) the author maintains an active web site with interesting supplementary material and he's very helpful. You won't learn everything there is to know about Python, no book can do that, but this is probably the best book to start with.
4 people found this helpful
Report abuse
Joseph A. Wright
5.0 out of 5 stars
A great introduction
Reviewed in the United Kingdom on November 18, 2021
'Learning Scientific Programming with Python' is a very well thought-out introduction to Python. It would probably not suit an absolute beginner with zero programming background at all, but that's no surprise: it's often said you learn more from the second book you read on a topic, rather than the first.
The chapters are well paced and cover Python from the ground up, with a large number of exercises and more intricate problems. The answers are either in the book or (more likely) on the accompanying website - that has details for both the first and second editions, which is refreshing. The problems take real scientific ideas and are on a range of topics: there is a slight bias toward the author's own background, but this is not really anything to worry about.
The approach of mixing core Python skills with those specific to scientific analysis is excellent: the first introduction of pylab means one can start looking at real data within the first 100 pages of the book.
I have no hesitation in recommending the book: this will be my go-to in the future.
The chapters are well paced and cover Python from the ground up, with a large number of exercises and more intricate problems. The answers are either in the book or (more likely) on the accompanying website - that has details for both the first and second editions, which is refreshing. The problems take real scientific ideas and are on a range of topics: there is a slight bias toward the author's own background, but this is not really anything to worry about.
The approach of mixing core Python skills with those specific to scientific analysis is excellent: the first introduction of pylab means one can start looking at real data within the first 100 pages of the book.
I have no hesitation in recommending the book: this will be my go-to in the future.








