Learn Python Programming: An in-depth introduction to the fundamentals of Python
M**M
Probably best for intermediate learners. Good content overall!
I get the feeling that the authors of this book really, REALLY, love Python. That’s great, because their passion for the language comes through very clearly in their writing and explanation of the language and it’s features. Almost every chapter so far (I have read through chapter 8) includes some kind of Easter egg, or a very niche tip that could only be known by someone who knows the language well, so I appreciate those little details. What I don’t appreciate as much about this book is the headiness in the explanation of some of pythons core features that are often too brief to break down a topic with enough technical detail that you don’t need to turn to outside resources for more explanation. Perhaps one of the things I like the least about this book is that I am constantly being told to read the official Python documentation for explanation about topics that I assumed would have been included in the book. I don’t hold that against the authors though, because I know there’s a lot to cover and to include everything there is to know about Python would probably span multiple books. Still though, I would have preferred that some of the more basic topics where the book defers to the documentation in favor of itself would have been included and the more advanced topics had been left out instead.With that said, so far, the biggest challenge getting through this book as a beginner has been keeping myself motivated when the reading makes such drastic shifts from difficult but approachable topics, to suddenly very dense and mathematical concepts. Because of that, this may not be the best book for an absolute beginner to read when they have no prior computer science or programming experience. I feel like I was only able to follow along because this is not my first attempt at learning a programming language and I have held onto a lot of the core principles of programming that are shared between languages like JavaScript and Python.I think if you plan to use this book as your introduction to the Python programming language, and to programming in general, you probably need to look elsewhere to prime yourself on topics like types, variables, logical operators, and control flow before jumping in here. Those are easy to understand topics, but learning of them through this book could be inhibited by the sudden introduction of more complex topics. For example, in Chapter 2, the text goes from explaining what objects are in Python and how they are represented to a section devoted to modular exponentiation and modular multiplicative inverses and brief explanation of some other advanced topics. I have no problem with those additions to the book, but maybe not so early on, especially for the sake of not overloading beginners with such heavy information.What I do like about the book is that, although brief on some more basic topics, and overly verbose on topics that I would consider too complex for this book, where the authors really do shine is in their detailed explanation of the core features of Python. Everything up until chapter 4 is fairly standard programming stuff with features unique to Python scattered throughout, but boy do they really go in depth about those unique features when they do come up. Chapter 5 for example is all about Comprehensions and Generators, and you’ll be practically begging for the end of the chapter to come by the time you’re halfway through the reading. Explanations on that topic, and topics like data types, functions and Python’s unique flavor of implementation go in fairly deep and you won’t leave those chapters feeling empty handed. I definitely think in that aspect, the book shines and gives you a great idea of where you might want to potentially focus your efforts when it comes to even more in depth and technical learning.One minor pitfall about this book is that as recent as it is, it is somewhat outdated. Probably the most glaring piece of old information comes in Chapter 3, which is a very solid chapter, however the info regarding the lack of a switch case statement, which was added in Python 3.10, is incorrect. Of course this book was written for Python 3.9 so there are bound to be some minor inaccuracies here and there.Some other nitpicks I have is that I found quite a few grammatical errors and even some issues between the code examples and what was being referenced in the text. Most of these issues were limited to Chapter 1, however I still have several more chapters to read through so I can’t speak to the whole book regarding grammar. Sometimes, the authors will use terminology that isn’t necessarily explained in the text. For example, when the book introduces functions, they reference the “caller” without really explaining what the caller is or means, and that issue arises from time to time where you might need to Google some terminology nal every now and then as you read to get caught up again. Another personal dislike is related to the author’s devotion to Pythonic and ‘elegant’ implementation of code. I don’t mind reminders here and there about good formatting, and my goodness do they hit you over the head with that PEP 8 formatting reference, but I have felt at times that there was more focus on “this type of code being better because it’s more elegant” than a true explanation of what the pros and cons of choosing between a more or less “Pythonic” approach to implementing a feature.I went ahead and purchased the “Python Workout” book to put what I’ve learned here into practice. To that end, there are tons of code examples for you to work through ough, however most of them don’t train you to solve any real technical problems beyond providing a superficial example of what the implementation of a new topic might look like. Still though, they code examples are solid and you should work through them as you read. Just know that you’ll want to use another resource for real practice.Overall, this is a good book for learning Python, but I would be hesitant to say it’s a great book to learn the core principles of programming AND Python. Ironically, I bought this book because I felt Meta’s 2022 backend developer course on Coursera did not go far enough explaining Python programming and it’s features in depth. Since reading this book, I feel I have a much better grasp of the concepts I’ve been learning about and feel much more prepared to start working with a framework like Django. The book past Chapter 8 covers some more advanced topics that I’m not really sure I want to focus on right now, things like APIs and GUIs, so I’m not sure if I’ll cover that part of the book anytime soon. I don’t really feel like that information is as relevant to a beginner like me, so I may come back to the book and revisit those chapters (9 - 15) in a few weeks once I get the core concepts under my belt.Fairly satisfied with this book and happy with/grateful for the foundation that’s it’s helped me lay so far!
B**L
Some good stuff but not a practical introduction
There is a lot of useful information here. However, as a longtime programming professional I find the near complete lack of many typical and important concepts to be counterproductive. For example, the reader will be many chapters in (354 pages!) before finding out how to display output messages, and formatting output is NEVER explained. Jumping around in the book to discover things that seem to be arranged in a haphazard manner is frustrating; made even more so by the index, which arbitrarily excludes references for many important terms and topics. If I’d known ahead of time, I’d have bought something else. You won’t walk away from this book with the knowledge needed to write a good utility script.
C**S
Disappointed all Black & White
The book looks like it has solid content. Based on the listing having colored diagrams I was expecting this to be a colored publication, which it is not. I guess I should not have been surprised by this.You can download colored pdf’s of the images, but I can’t imagine many people would stop reading to go look up an image just to see it in color. I was hoping to have colored coding.
A**R
the book is great!! i love it!
it came and it look like new!!
S**A
Good starting python book
I am a seasoned software professional and wanted to pickup a book for good understanding of python and related echo systems. This book did the job. I would definitely recommend.
T**E
The book is Crap!
I am not much for writing reviews, but when I come to this book I feel that I have to save some people from buying this book. This book is so bad that is not even worth keeping it in my library is going straight to the trash for recycling. The book is way overpriced for the content it has, the code is just plain code you get on the internet without real-world samples. The dang book reads like a poorly-made reference book. This two might be good programmers but they suck at writing a good programming book. Keep away from this one!!
A**E
Great if you have some prior computer science knowledge and math skills
This book is great! Not the most thorough but covers all the bases none the less. As the description states it is preferable to have some experience with computer science. I think anyone could pick up this book and learn SOME python. However, there are some parts that someone with no knowledge will likely struggle and will need outside support.
J**)
199 % recommended
In my eagerness to advance in my programming knowledge, I decided to start with Python because of its versatility, but how do I start? Well, there I started looking for a book that would help me to learn and guide me in the future for any questions that came to me, it had to be the most basic to be solid for my future.I found this book "Learn Python Programming", and actually as I progressed in it I found that always motivate me to continue advancing and show other topics that hook .... but are further ahead, it's like a game that you just want to finish. In the technical very clear, and everything as a whole leads to obtain a single learning of Python.
J**S
Simple and clear
Very good book. Tem text is very simple and clear.
A**E
Great book for learning Python
This book is a great and concise education on the Python language. It's not an introduction to programming book, which is what I was looking for, so you don't have the first five chapters teaching you about variables and other basics where you might risk missing something if you don't read it all. This book gets right into it with the practical information you need to know. It's organized in the way I like with just enough narrative and no more. This would be the book I would recommend to someone already - at least a little - familiar with programming models to learn Python. Very pleased with this book.
J**E
How much time do you have?
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.
C**H
Why make it unclear?
The book ought to explain concepts eg that a virtual environment has the python installation. As it’s base. Diagrams would help. As a software engineer I understand the benefit of using meaningful names; why, in chapter 1, when creating a virtual environment have the authors chosen to name it lpp3ed? If there is a good reason for this name why is there is no explanation?
S**T
Comprehensive text book
Easy to follow, comprehensive text book, however I suspect that any one who is new to coding would find it hard going
Trustpilot
1 month ago
1 day ago