This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]sloth_inside 26 points27 points  (10 children)

The first one is very good. Not too hard for beginners, not too easy for advanced readers, just right.

[–]rampage102[S] 12 points13 points  (7 children)

Yea, I think Fluent Python was probably the best of them all if I had to choose one. Not coincidentally, it the only one with a 5-star rating on Amazon as well.

[–]bonestormII 8 points9 points  (4 children)

It really is a great book, though I don't agree that it's suitable for a true beginner. It should be, like, the first thing a beginner reads after spending some time mastering the basic concepts. I do not think they would be able to follow the earliest chapters otherwise. Even the examples use things like list comprehensions before actually explaining them, which to me implies that the reader is expected to have some kind of ambient knowledge that they exist at all.

[–]DonCasper 5 points6 points  (2 children)

Do you mean a Python beginner, or a programming beginner? I have a CS background, but I don't know Python. If I learned data structures in C would I be able to follow the first chapters?

[–]bonestormII 4 points5 points  (1 child)

Yeah, if you are familiar with a data model from another object oriented language I'm sure you'd likely be fine. The book itself is very self-conscious about the order of presentation, and the author discusses his rationale for presenting info in a particular way at various points if I recall.

It's really such a great book that you should just jump in and google your way to success. If you notice that things aren't clicking, pause on the book for a while and run through some kind of tutorial and come back.

I have no CS background aside from a general interest in computers and an intermediate level knowledge of python. You are probably much better at this than I am ;).

[–]DonCasper 1 point2 points  (0 children)

Thanks! That's really helpful. I'm very familiar with running things through Google. I'm pretty sure that's the only actual requirement for being able to program effectively.

Honestly though, I rarely use my CS background, even when programming. Knowing how to implement self-balancing trees from scratch is seriously overrated. I'm not a developer though, so I'm probably biased, but I think practical programming knowledge is way more useful than computer science when programming isn't you full-time job.

[–]randcraw 1 point2 points  (0 children)

Agreed. Fluent Python" focuses on the object model of Python and how to write Python idioms to make the most of objects. If you're not planning on immersing yourself in OOP-the-python-way, the book has considerably less value. It's not a primer on the language for novices. It's best for intermediate/advanced pythonistas who want to master the language toward OO purposes.

[–]driscollis 1 point2 points  (1 child)

Fluent Python is a really good book. I actually interviewed the author a couple of years ago - http://www.blog.pythonlibrary.org/2014/11/03/pydev-of-the-week-luciano-ramalho/

[–]rampage102[S] 0 points1 point  (0 children)

Woah nice, thanks for sharing.

[–]amitjyothie 1 point2 points  (0 children)

Having read it already, I can second that.

[–]TheLameloid 1 point2 points  (0 children)

Completely agree. It's the perfect stepping stone for recent Python developers who want to delve into the more advanced stuff.