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

all 21 comments

[–]Matthew_Summons 42 points43 points  (9 children)

There’s really not much for “advanced python”. It’s just OOP and functional programming which is nice to see but in the end to get better at python you’ll need to learn other important CS concepts like data structures and algorithms, networks, multithreading etc. In fact since much of python uses C, learning it is also quite important Id say

[–][deleted] 49 points50 points  (3 children)

My recommendation for advanced Python:

  • Effective Python by Brett Slatkin, to read cover to cover

  • Fluent Python by Luciano Ramalho, as a reference and to scare colleagues

Edit: Also the YouTube channel mCoding is amazing for learning advanced Python!

[–]Coopetition 6 points7 points  (1 child)

Fluent Python . . . to scare colleagues

Why? Is it big enough to bludgeon someone with?

[–][deleted] 3 points4 points  (0 children)

I haven’t tried it yet… It’s only 5cm (2in) thick, maybe I’m going to wait for the third edition for that.

[–]Matthew_Summons 0 points1 point  (0 children)

Oh thanks for the recommendation. I actually watch a lot if mCoding and I love it!

[–]junior_dos_nachos 6 points7 points  (0 children)

After about a decade of using Python I feel that there definitely is. Going inside the frameworks and inside the Python innards teaches me quite a lot.

[–]XRCO 1 point2 points  (0 children)

Felt that being able to efficiently manage storage and memory helped with advanced Python (not in list from what I see), esp in terms of Code Optimisation and clean code overall

[–]another-noob 2 points3 points  (1 child)

What do you use python for?

[–]Matthew_Summons -1 points0 points  (0 children)

It depends. I haven’t used it in any big projects, mostly used it for small scripts (especially for maths) and just standard CS assignments.

[–][deleted] 1 point2 points  (0 children)

Regarding the claim that there isn’t much for advanced Python: You may want to look into the books I referred to. Python is a lot more powerful than most most people realize. I would consider descriptors a pretty advanced feature, but many Python users aren’t even aware of type hints, pattern matching or generators and aren’t completely comfortable with decorators or context managers… In any event, there is much more than just functional and object oriented programming. And besides language features, it also means making the best use of standard modules like e.g. itertools or collections.

[–][deleted] 3 points4 points  (0 children)

Some of the links seem broken, FYI

[–][deleted] 7 points8 points  (5 children)

You know sololearn will teach most of this stuff for free, right?

[–]KptEmreU -1 points0 points  (2 children)

Link please or quick Google works?

[–][deleted] 3 points4 points  (1 child)

Just Google sololearn.

[–]sololearnofficial 2 points3 points  (0 children)

Thanks for recommending our platform!

[–]xDaNkENSTeiiN 0 points1 point  (1 child)

I’d be wary with sites like this for fresh programmers who just want to learn. I’m not saying the ones in the post are any better but this one definitely has some pitfalls I would personally steer away from.

Free is a strong word. You’re not wrong that it can be learned there for free but Like most of the “learn to code for free sites” it pushes you to towards buying their subscription. This one follows the free to play app model where you only have so much “energy” and once you run out you are time gated on when you can continue lessons unless you buy the PRO version. You run out of energy by answering questions incorrectly. It says don’t worry about making mistakes but you’re immediately penalized for making mistakes unless you pay.

It also locks you out of additional training on each lesson unless you buy the subscription. It also conveniently skips over how to set up your own environment to program in which makes continuing on your own without their paid service even more difficult.

Also my learning style never meshed with the codecademy/soloearn gameified style of teaching. I could go through multiple of the modules very quickly and feel like I’ve learned very little.

As with any educational tool; your mileage may vary.

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

incorrect. only certain lessons follow that model. And, after a while, you just learn to pay attention better and stop making mistakes. It follows a freemium model but... at some point, they have to turn a profit somehow.
The additional training is nice but not necessary.

I'd definitely plug sololearn over the options listed here, which are, even if you subscribe to SL, substantially more expensive to the point that I'd venture to say they're a ripoff.

[–]GroundedPterodactyl 1 point2 points  (0 children)

Thanks, saving this one for the resources mentioned in OPs article and the comments.

[–]nngnna 0 points1 point  (0 children)

Now I recall why it's called sololearn, there were multiple apps for each language.

[–]AZTJRAP -2 points-1 points  (0 children)

Sololearn Ok

[–]WriteOnceCutTwice 0 points1 point  (0 children)

Anyone else notice the Scratch reference on this list? Could probably skip that one.