Very recommended for every python developer. Most of the receipts stands for their own and shows, with clear explanations, how to achieve selected goalVery recommended for every python developer. Most of the receipts stands for their own and shows, with clear explanations, how to achieve selected goals using elegant, readable, code....more
I bought this book primary for its chapters about design patterns as well as the concurrency and the networking chapters (1 to 3, 4 and 6 accordingly)I bought this book primary for its chapters about design patterns as well as the concurrency and the networking chapters (1 to 3, 4 and 6 accordingly). The book doesn't meant to be read from start to finish, but as a reference and guide to each topic separately. I think that from the above chapters I've already read most of the content, as well as the chapter about GUI with tkinter. I have nothing to say though about the two remaining chapters (extending python and 3d graphics).
The best chapter of this book is the one about high-level concurrency. In this chapter Summerfield explain the difference between CPU-bound and I/O-bound concurrency and have a strong suggestions regarding the tools to use for concurrency with python 3. Namely, the suggestion is to use the threading, multiprocessing and concurrent.futures modules and never use locks or other lower level synchronization primitives explicitly, use queues and futures instead. The examples are good, although I found the code unnecessarily complex sometimes.
On the other hand, I found the chapters about design patterns to be much less fruitful. The author attitude is too object oriented for me where things could be done much easier using a decorator or two instead. The code examples too, are complex and non pythonic.
I'm sure that there are much better approaches to high-level networking then those described in this book. The author implement remote procedure call server and client. Simple examples can be done in a simpler manner then the suggested code and advance use cases may prefer higher level 3rd party libraries and frameworks that removes much of the boilerplate (e.g. Django + DRF for REST server + requests based client).
To summerize, the high-level concurrency chapter is really great and deserve 5 stars, but the rest of the book is ranging between 2 and 3....more
After trying different books for python (Think python, Dive into python 3 and Head first python) I've find this one the best both as learning book as After trying different books for python (Think python, Dive into python 3 and Head first python) I've find this one the best both as learning book as well as reference book. Part 2 is a nicely organized tutorial for the language. It contains most of the essentials and will give you the feel that you can continue learning by your own (or with more specialized books/tutorials). Part 3 is much less cohesive then part 2. It seems that the chapter about regular expressions could get into part 2 but the rest of the part is too much esoteric and there are some mistakes through all of it (for example, it refers you to the appendix for more information that is not there). I didn't read part 4 completely. I've only read the information about working with databases in chapter 24 and it is very well written. For part 2 I will give 5 start without hesitation. But part 3, although less significant, doesn't deserve it. After all the book is very recommended....more
Can't say I've finish reading this book. It more like a reference you open anytime you need for some extra help on each topic, with emphasis on best pCan't say I've finish reading this book. It more like a reference you open anytime you need for some extra help on each topic, with emphasis on best practices. Be aware that this book is not for beginners! But if you want to progress with python + django you're going to appreciate the suggestions found there....more
It's not a bad book but if you are looking for a good book for scientific computing with Python you will probably be disappointed. The book covers mostIt's not a bad book but if you are looking for a good book for scientific computing with Python you will probably be disappointed. The book covers mostly pandas and doesn't give much information on numpy and matplotlib, and say completely nothing about scipy, which are all more essential for scientific computing as far as I understand that topic. On the other hand I'm sure that I will use what I've learned here soon, but only after reading more comprehensive information about the whole scipy stack....more