Head First Programming by David Griffiths and Paul Barry is an introduction to programming using the Python language. This book would be a good choice for someone new to writing code who learns best by example; Griffiths et al don’t spend any time on tedious discussions of language elements and have the reader composing simple scripts almost immediately. Example code is in Python3, so installing that environment would be a prerequisite to getting the most from the text. There are some errors in the code, many of which are corrected on the book’s errata page, so checking that will save the user some frustration.
While I am not usually a fan of the “Head First” format, in this case it works well. The authors use examples which, while not entirely “real world” , are simplified examples of programming challenges you’ll encounter in a typical business setting. An example is the use of Python libraries to retrieve a URL, then post to Twitter when certain conditions are met; relatively straightforward, but clearly showing the required concepts.
That said, you will not actually learn to “program” with this book alone; it’s a well-written, nicely paced introductory course. If it sparks an interest, you will need to investigate other materials.