Learn Python Programming, Third Edition is both a theoretical and practical introduction to Python, an extremely flexible and powerful programming language that can be applied to many disciplines. This book will make learning Python easy and give you a thorough understanding of the language. You'll learn how to write programs, build modern APIs, and work with data by using renowned Python data science libraries.
This revised edition covers the latest updates on API management, packaging applications, and testing. There is also broader coverage of context managers and an updated data science chapter.
The book empowers you to take ownership of writing your software and become independent in fetching the resources you need. You will have a clear idea of where to go and how to build on what you have learned from the book.
Through examples, the book explores a wide range of applications and concludes by building real-world Python projects based on the concepts you have learned.
I've docked a star from this rating because this book is not ideal for busy people who want to quickly learn the language so they can get on with their own projects. To get the best out of this book one would have to download the chapter examples, work through their code, which is much more than is presented in the text, and follow up all the links and references to documentation and dependencies which cover the entirety of the immense Python ecosystem. If I did have the time to follow up on every reference I would probably give the book five stars.
The earlier part of the book deals very well with the core language. People like myself coming to Python from earlier generation languages such as C++, Java, Tcl, etc. can quickly start messing about and muddling along according to familiar paradigms. But the real power of Python only becomes apparent when one understands the advanced data types and language constructs that make Python a genuinely next generation language. The language style that arises from a full understanding of these features is called Pythonic, and to write as such, to write Pythonically. All this makes for compact and highly readable code, of which I thoroughly approve.
As the book progresses however the explanation of the core language becomes increasingly intermixed with aspects of the broader Python ecosystem which are necessarily brief in their treatment and often too brief for the text alone to stand on its own without getting ever more involved in the example code and following up on references to a large array of third party tools and their documentation. The authors seem keen to use the opportunity to cover a career's worth of general observations and best practice heuristics on the whole field of programming more generally. All good stuff, especially for beginners, but off the point for someone wanting to master the language and get on with their own projects. I would estimate that it could take a good few months for the diligent reader to really work through the material not just of the text, but the accompanying sample programs and the documentary references as well.
There's no doubt that a beginner or a computer science student would find this a really solid underpinning to a career both in writing Python and programming more generally. If, like me, you're in a bit of a hurry to get on and apply Python to your own purposes then much of the latter half of the book could feel like a distraction. Perhaps further down the line the areas covered there will tun out to be of relevant interest. How good a reference the book will then make is hard to say. As observed, on many topics the text alone is just too brief to give a confident grounding in the material covered.