Many new programmers who started learning, working, and playing with Python ask a question about progression paths. What should I learn now, what library, packages, techniques should I focus on to dive deeper in this beautiful language.
- Discover list comprehensions
- Discover generators
- Incorporate map, reduce, filter, iter, range, xrange often into your code
- Discover Decorators
- Write recursive functions, a lot
- Discover itertools and functools
- Read Real World Haskell (read free online)
- Rewrite all your old Python code with tons of higher order functions and recursion
- Annoy your cubicle mates every time they present you with a Python class. Claim it could be “better” implemented as a dictionary plus some functions. Embrace functional programming.
- Rediscover the Strategy pattern and then all those things from imperative code you tried so hard to forget after Haskell.
- Find a balance.
Going this way we will continue to pick up new idioms, coding styles, and Python tricks.