The Second Edition of Learning Scientific Programming with Python was published by Cambridge University Press (ISBN: 9781108745918) in December 2020. It is available from online retailers, including Amazon.
The First Edition was published in 2016 (ISBN: 9781107428225).
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.
Learning Scientific Programming with Python has also been kindly received by several Amazon reviewers.