Rio认为「精通」要满足如下条件:
- 熟知主流硬件体系(x86, x64)
- 熟知 CPython 的具体实现,如若可能至少通读源码三遍以上
- 熟知每条 Python bytecode 如何被解释执行
- 熟知每条 Python 语句如何 compile 成 bytecode
- 熟知 Python 主要数据结构所采用的优化手段
- 熟知 JIT 以及哪些场合下 PyPy 会比 CPython 有较大性能提高、以及有什么代价
- 掌握 list comprehensions
- 掌握 generators
- 代码中经常使用 map, reduce, filter, iter, range, xrange
- 掌握 Decorators
- 大量使用递归函数
- 掌握 itertools 和 functools
- 读书 —— Real World Haskell(评论中作者说不一定要局限于这本书,可以阅读任何关于函数式编程的书籍,比如SICP等)
- 重写自己的老派Python代码,使用高阶函数,递归等
- 当你同事给你看任何用Python做的类实现时,烦死他。告诉他更好的办法时通过dictionary加上函数,拥抱函数编程。
- 重新掌握 Strategy 及其他模式
- 找到平衡
- 当你觉得它很美的时候,你入门了。
- 当你觉得它很好用的时候,你掌握它了。
- 当你发现原来还有很多不知道的东西时,你是高手了。
- 当你知道这个问题没有答案时,你已经合格了。
各位朋友,你们怎么认为呢?
下面免费赠送一些资料,希望对大家有帮助: