Hacker News new | past | comments | ask | show | jobs | submit login

Fluent Python [1] is a great book, very comprehensive, yet it goes deeper than just the basics. Python Distilled [2] is another option. Or if you prefer more project-oriented learning style, Automate the Boring Stuff with Python [3] is probably a better fit.

When you're ready to go beyond the basics, I recommend Effective Python [4] and Serious Python [5]. Both go deeper on classes, metaclasses, how objects are represented internally, and Serious Python covers a bit of functional programming, scaling, etc.

[1] https://www.fluentpython.com/

[2] http://www.dabeaz.com/python-distilled/

[3] https://automatetheboringstuff.com/

[4] https://effectivepython.com/

[5] https://nostarch.com/seriouspython




Fluent python is great but I don’t recommend you start with Fluent Python, it’s for people who already know python and want to go that extra mile. I still use it as a reference almost every month.

Automate the boring stuff is a good beginner book, I like the coverage in “Introducing Python” by Lubanovic because it covers Modules and Packages for a whole chapter whereas in other books distributing your code is often a footnote. Even Fluent Python (my favorite python book) doesn’t have that great coverage of that.


Personally I found Fluent Python to be one of the best books I’ve read for learning a new programming language. I had slight Python familiarity before and over ten years of professional experience writing code. I was coming into a new job as an engineering manager managing a team of experienced Python developers and had to get up to speed very quickly so I spent a few weeks doing the Python track in Exercism while simultaneously reading Fluent Python and I was able to get to the point where I felt confident reviewing my reports’ code and giving worthwhile feedback.


If you consider yourself a good programmer, read the official reference documentation. A good book was Essential Reference by Beazley but I don't think it was updated for Python3 yet. [edit: http://www.dabeaz.com/python-distilled/ is the Python3 version]

Also perhaps Python Cookbook.

A major part of any language is knowing the standard library(-ies).


Nice list. I'd add

* Practices of the Python Pro (https://www.manning.com/books/practices-of-the-python-pro) — learn to design professional-level, clean, easily maintainable software at scale, includes examples for software development best practices

* Intuitive Python (https://pragprog.com/titles/dmpython/intuitive-python/) — productive development for projects that last




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: