Live data from Hacker News

Ask HN: Best way to learn advanced Python?

news.ycombinator.com

21–30 of 32 posts

Re: Ask HN: Best way to learn advanced Python?

#22
post #20

https://codecrafters.io/

Have you used this? Did you do it on company time or your own? Seems like quite the time investment (but also very cool)

No I haven't, but if I wanted to improve my coding skills (which I'd rate as intermediate) I would do one of their projects. My company would pay for it, but that's not a concern ($80/mo is nothing to me). Main investment is time, as you said, but it's probably worth it. I'm just too lazy/busy to do this right now.

It was discussed yesterday: https://news.ycombinator.com/item?id=32342334

Re: Ask HN: Best way to learn advanced Python?

#23
Here are some often recommended books (not specific to a particular framework):

* "Fluent Python" (https://www.oreilly.com/library/view/fluent-python-2nd/97814...) — takes you through Python’s core language features and libraries, and shows you how to make your code shorter, faster, and more readable at the same time

* "Serious Python" (https://nostarch.com/seriouspython) — deployment, scalability, testing, and more

* "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

Re: Ask HN: Best way to learn advanced Python?

#24
post #23

Here are some often recommended books (not specific to a particular framework): * "Fluent Python" ( https://www.oreilly.com/library/view/fluent-python-2nd/97814... ) — takes you through Python’s core language features and libraries, and shows you how to make your code shorter, faster, and more readable at the same time * "Serious Python" ( https://nostarch.com/seriouspython ) — deployment, scalability, testing, and m…

I'll second Serious Python. It's a fairly quick read, and introduces a number of topics concisely. It helped me become more aware of areas of Python that I'd like to learn more about.

I have other higher-level Python books that I'm taking much longer to get through because they're more in depth. Serious Python strikes a really nice balance of covering things well enough to help you understand them, but not going into so much depth that you take forever to get through the book.

Re: Ask HN: Best way to learn advanced Python?

#25
post #10

If you're interested in web dev take a look at FastAPI. In many respects it's a better Flask and leverages schemas for your requests and responses (Pydantic models), async processing and dependency injection. I wouldn't call it advanced but it incorporates features of what some refer to as "modern" Python. As someone who's been using Python for coming up 20 years I learned a lot.

I want to caution a bit with using FastAPI in prod. There is still a pretty significant memory issue that is not resolved: https://github.com/tiangolo/fastapi/issues/1624

But in general, I agree with you that FastAPI introduces a lot of concept that are very useful to learn.

Re: Ask HN: Best way to learn advanced Python?

#26
I want to second all the opinions about fluent python, serious python and practices of python pro. I probably own most python books out there, and if I had to recommend one, it would by fluent python 2nd. The 2nd edition has a lot of type checking stuff that's really cool.

Two more resources that I really like:

1. Pycon videos - they're posted free on youtube. It's a great way to explore interesting problems with interesting people.

2. Another book on python by Harry Percival (he does a lot of TDD stuff) - Architecture Patterns with Python. This book is relatively new. It targets an rather niche audience (web devs). But it's hard-won knowledge and really well written. It's a wonderful resource for python devs, and a book I wish more people knew about. https://www.oreilly.com/library/view/architecture-patterns-w...

Re: Ask HN: Best way to learn advanced Python?

#27

I want to second all the opinions about fluent python, serious python and practices of python pro. I probably own most python books out there, and if I had to recommend one, it would by fluent python 2nd. The 2nd edition has a lot of type checking stuff that's really cool. Two more resources that I really like: 1. Pycon videos - they're posted free on youtube. It's a great way to explore interesting problems with int…

I think “Architecture Patterns with Python” is a great book on multiple levels. First off it shows the natural progression of you code base as you build out features, achieve higher performance or want to increase reliability. Secondly it nicely puts the theory in to practice. Which perfectly lives up to “Although practicality beats purity” in the Zen of Python.

A second book I think nicely compliments this book is “Clean Code in Python” by Mariano Anaya (https://www.packtpub.com/product/clean-code-in-python/978178...). To really perfect the implementation of the architecture in the first book.

Making beautiful code starts by making every line count. Then by making all lines add up.

Re: Ask HN: Best way to learn advanced Python?

#28
post #24
post #23

Here are some often recommended books (not specific to a particular framework): * "Fluent Python" ( https://www.oreilly.com/library/view/fluent-python-2nd/97814... ) — takes you through Python’s core language features and libraries, and shows you how to make your code shorter, faster, and more readable at the same time * "Serious Python" ( https://nostarch.com/seriouspython ) — deployment, scalability, testing, and m…

I'll second Serious Python. It's a fairly quick read, and introduces a number of topics concisely. It helped me become more aware of areas of Python that I'd like to learn more about. I have other higher-level Python books that I'm taking much longer to get through because they're more in depth. Serious Python strikes a really nice balance of covering things well enough to help you understand them, but not going into…

I had not come across Serious Python before, ordering it now. Thanks

Re: Ask HN: Best way to learn advanced Python?

#29

The best way to improve is by writing more code in python. You can develop a desktop gui app or an open source python package to challenge your python skills.

Yep I get the point and I definitely learn by doing. I think best strategy is a combination of reading/study and then trying to apply new learning.

Re: Ask HN: Best way to learn advanced Python?

#30
I know very little about Python, but I would suggest these talks about a few ways in which Python is unique. They won't teach you Python, but they might help in making sense of the confusing bits you might encounter:

How Python was Shaped by leaky Internals, Armin Ronacher: https://youtu.be/qCGofLIzX6g

What Does It Take To Be An Expert At Python?: https://youtu.be/7lmCu8wz8ro

and maybe also

When Python Practices Go Wrong: https://youtu.be/ZdVgwhHXMpE

Post reply on HN