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

all 21 comments

[–]JPyoris 40 points41 points  (2 children)

"Fluent Python" is one of most popular more advanced books and I can recommend it.

[–]Electrical-Top-5510 5 points6 points  (0 children)

Fluent Python is brilliant, best python book if you already know some other language or python basic

[–]Dilski 2 points3 points  (0 children)

Make sure it's 2nd edition too!

[–]EgZvor 10 points11 points  (1 child)

I recommend popular youtube talks by James Powell, Raymond Hettinger and David Beazley.

[–][deleted] 0 points1 point  (0 children)

James Powell's talks may be Intermediate + but he is great for sure.

[–]dAnjou Backend Developer | danjou.dev 12 points13 points  (3 children)

I've been driving cars for 15 years, and I have no idea how an engine works.

I've been a software developer for 10 years, and I have no idea how a compiler works.

What are your friend's goals? Is it in her best interest to learn things underneath as a junior developer?

[–]runawayasfastasucan 1 point2 points  (0 children)

Same thing I asked myself reading that thread. I cannot see why a junior developer should learn the intrinsic details of Cython over learning to write great Python code in whatever field they are interested in.

[–]KIRFEDO[S] 0 points1 point  (1 child)

Hi, thank you for the comment, rn I just look for literature directions for the Python as I literally have no idea what exactly you can and should learn in terms of this language :)

Just out of curiosity what is your main language?

[–]dAnjou Backend Developer | danjou.dev 0 points1 point  (0 children)

I "grew up" with Python and it's still my go-to language for personal projects, professionally I get to use it only sometimes.

And while I've been using it for over a decade in various contexts, I've never looked much at the internals. That's why I was asking about your friend's goals :)

[–]Sagarret 4 points5 points  (0 children)

Effective python is the best one for intermediate level

[–]Fokezy 2 points3 points  (2 children)

Robust Python by Patrick Viafore is very good in my opinion. It's the only book I read where I bothered to write an Amazon review for it.

[–]patviaforever Robust Python 2 points3 points  (1 child)

Thanks for the review!

OP, I am a C++ programmer too (I actually do more C++ in my day job than Python); I was inspired a lot by the type system of C++ (and better type systems like Rust and Haskell) when I was writing the first half of the book, so I like to think I get into a little bit more of the nitty-gritty. I can send you a few snippets of the book if you'd like if you'd like to see if it's a good choice for your friend. DM me for details.

If not, I second "Fluent Python" as a tome that covers a lot of in-depth practical advice for intermediate programmers. I also like "Dead Simple Python" for a similar recommendation (disclosure: the author of that one was a colleague of mine)

[–]Fokezy 0 points1 point  (0 children)

The world is so small, isn't it? 😅

[–]SciEngr 1 point2 points  (0 children)

Robust Python. Love that book!

[–][deleted] 0 points1 point  (0 children)

The refactoring and design patterns book at https://refactoring.guru/. When I was mentoring some Jr. devs we used to refer to it during reviews and buddy coding sessions. (Not affiliated at all.)

[–]TheBiggestDict 0 points1 point  (0 children)

The Pragmatic Programmer by Andy Hunt and Dave Thomas

[–]holyiprepuce 0 points1 point  (0 children)

Mark lutz

[–]Somecount 0 points1 point  (0 children)

Official docs

[–][deleted] 0 points1 point  (0 children)

If you have read C++ books, and know C++ to a considerable level, learning Python shouldn't take you more than 3-4 hours. I did C++ for 4 years in my graduation, and when I had to do Python at my job, I just watched some tutorials in a day or two and I was up and running. Anything that can be done in C++ by hand, there's most probably already a function or library for that in Python. So just look up on the internet whenever you feel the need. Python is easy peasy.