<p>我以为掌握Python的过程是这样的:</p>
<ol>
<li>发现<a href="http://en.wikipedia.org/wiki/List_comprehension#Python" rel="noreferrer">list comprehensions</a></li>
<li>发现<a href="http://en.wikipedia.org/wiki/Python_syntax_and_semantics#Generators" rel="noreferrer">generators</a></li>
<li>经常将<a href="http://docs.python.org/library/functions.html" rel="noreferrer">map, reduce, filter, iter, range, xrange</a>合并到代码中</li>
<li>发现<a href="http://wiki.python.org/moin/PythonDecorators" rel="noreferrer">Decorators</a></li>
<li>写递归函数,很多</li>
<li>发现<a href="http://docs.python.org/library/itertools.html" rel="noreferrer">itertools</a>和<a href="http://docs.python.org/library/functools.html" rel="noreferrer">functools</a></li>
<li>阅读<a href="https://rads.stackoverflow.com/amzn/click/com/0596514980" rel="noreferrer">Real World Haskell</a>(<a href="http://book.realworldhaskell.org/read/" rel="noreferrer">read free online</a>)</li>
<li>用大量高阶函数、递归等重写所有旧的Python代码。</li>
<li>每当你的同事向你展示一个Python类时,都会让你恼火。声称它可以作为字典和一些函数来“更好”实现。接受函数式编程。</li>
<li>重新发现<a href="http://en.wikipedia.org/wiki/Strategy_pattern#Python" rel="noreferrer">Strategy</a>模式,然后<a href="https://rads.stackoverflow.com/amzn/click/com/0596007124" rel="noreferrer">all those things</a>从Haskell之后您试图忘记的命令式代码。</li>
<li>找到平衡点。</li>
</ol>