So I can write concise Python code, but really want to level up my understanding of Python programming language (both good and bad parts) and gain some insights on how to use Python effectively. Is there any book can do that for me?<p>(Think "The Well-Grounded Rubyist" for Ruby, "Effective Java" for java, "On Lisp" for lisp, etc.)<p>I will really appreciate any reply.
Learning Python 5/E (<a href="http://www.amazon.com/Learning-Python-Edition-Mark-Lutz/dp/1449355730" rel="nofollow">http://www.amazon.com/Learning-Python-Edition-Mark-Lutz/dp/1...</a>). This book is great book for both intermediate and advanced developers. Very in-depth.
I am not sure there is a generic answer to your inquiry. If you want to understand python itself you would be best off checking out the source code, building it yourself and then try to change some language features for fun.<p>Other than that I'd recommend that you find a domain you are particularily interested in and get some books on the specific aspects of that, for example Python for Data Analysis. <a href="http://shop.oreilly.com/product/0636920023784.do" rel="nofollow">http://shop.oreilly.com/product/0636920023784.do</a><p>This allows you to focus on what to do with python and the eco system of frameworks and so on.<p>If you want to learn how to use Python effectively, I believe you should decide what domain to apply it in. Python is no end in itself, as is the case with most other tools...
"Treading in Python, Vol. 2" by Harrison goes pretty in-depth with the usual suspects -- iterators, generators, decorators, dunder methods, etc. Then Knupp's "Idiomatic Python" is handy to review for tips and tricks. But overall I also like Beazley et. al. for a great cookbook and a good glimpse into "effective" Python.
If you're looking for advanced web development, check out Real Python - <a href="http://www.realpython.com" rel="nofollow">http://www.realpython.com</a><p>Sure, we start with the basics, but we do get into some advanced topics - like BDD, adding Angular to Django ...<p>(Note: I am the co-founder and author)