Live data from Hacker News

Ask HN: Intermediate Python learning resources?

news.ycombinator.com

11–20 of 43 posts

Re: Ask HN: Intermediate Python learning resources?

#12
I was an early adopter of Python somewhere along about v1.x. Loved it. Used my usual technique of implementing a sizable task that I knew well---parsing PGN (Portable Game Notation) a widely used format for recording chess games in digital form. I've done it in every language I've learned. This is an approach that I recommend to anyone in your position. The second thing to do is build your reference library; easier today than before. The third thing to do is find a community of fellow travelers. Were the language Perl, then something like Perl Monks comes to mind. Part of your education lies in the search for all 3---so get to it grasshopper :)

Re: Ask HN: Intermediate Python learning resources?

#13
post #7

If you work with other languages in addition to Python, it's easy to fall back into old habits. You should internalize the content from these two excellent presentations: Raymond Hettinger's "Transforming Code into Beautiful, Idiomatic Python": http://pyvideo.org/video/1780/transforming-code-into-beautif... (pyvideo.org has a lot of other great talks and presentations.) Ned Batchelder's "Loop Like A Native": http://n…

Watching the video was worth it for realizing when you'd want the second argument of iter()

Re: Ask HN: Intermediate Python learning resources?

#14
core python programming and core python application programming are two good (not free and a bit old) intermediate python books.

Think complexity is a free python book on algorithms and science.

Python 3 Object Oriented Programming is a very good book (not free) on OOP.

Re: Ask HN: Intermediate Python learning resources?

#15
I'm enjoying 'Data Structures and Algorithms using Python'[1]

Coming from a C++ background, I felt uncomfortable using python as more than a glue/scripting language, because the way resources are managed is treated very magically in most tutorials.

Say I want to use the OpenCV library to fling matrices and images around, it's hard to be confident of what the runtime is going to do with the data without having a really good handle on what mechanisms python has for dealing with data. Which is what this book is about.

As useful as they are for interviews, classic algorithms and data structures are probably not a big part of most peoples work, but understanding how they can be done in python helps you to make assumptions and use libraries in smart ways!

Most of all, it's fun and well written, for an algorithms book. It's more about python than algorithms, so if you were student wanting to learn algorithms, this book is better[2].

[1] http://www.amazon.co.uk/Data-Structures-Algorithms-Using-Pyt... [2]http://www.amazon.co.uk/Introduction-Algorithms-T-Cormen/dp/...

Re: Ask HN: Intermediate Python learning resources?

#16
post #5

Subscribe to the Pycoder's weekly email list [1]. I love looking through the different libraries - you can certainly learn a lot from digging through source code. I just found out about Neckbeard Republic [2] today - it looks to be similar to Railscasts. I haven't watched any of their stuff yet, but I plan to. 1 - http://pycoders.com/ 2 - https://www.neckbeardrepublic.com/screencasts/

Those are excellent resources. I started a new screencast yesterday -

http://pycandy.com

Do take a look.

Re: Ask HN: Intermediate Python learning resources?

#19
intermediate python is what i called learning the "pythonic way". the best way to learn imo is about fussing over if you're doing it the "pythonic way".

then you might ask: what exact is the pythonic way? then it is hard to say. on a deeper level (that is coding style): you'd prefer list comprehensions over for loops (not always, but for simple iterables); prefering the functional approach -- immutable input/output on functions etc, learning map/reduce/etc; understanding the performance kinks of python, etc.

on a higher-level, there is the python-for-humans. learn what it means to be beautiful code, not just in terms code style, but how people will use your code. a splendid example which i have immense amount of respect is the requests library by kennethreitz.

retain your curiousity always. the day you lose these curiousity is when you become a mediocre programmer. don't be that guy.

after you're done with these, go deeper. keep going. understand why the fuck people whine about GIL, about concurrency and how bitchy it is in python (and why), and even alternatives to python: for example. when not to use python.

i wish you the best :)

Post reply on HN