Python 学习完基础语法知识后，如何进一步提高？
感谢 @壮壮 妖.  我觉得这基础离写程序还不够,就算看也只能停留在小脚本这个水平. 遇到复杂的语法或者调用了模块还是搞不定的. 我个人建议买本<python核心编程2>或者<python高级编程>去读. 读的过程体验它的例子, 还可以在读的过程中或者看完之后去尝试写一些程序. 程序是和自己的工作或者兴趣相关.  可以先实现, 然后优化/加feature. 过程中出现困难或者不知道改怎么进行思路可以去google/github/stackoverflow上面找类似的问题或者项目, 尝试理解并且‘搬’到自己的项目里面. 提高python的路只有一条 -- 就是实践, 写代码. 然后总结, 思考, 探索.
目标也很直接: 你会觉得过去写的xx有更好的表达方式, 过去写的xx写的很烂 我来把我这条路的历程总结下来做些提示: 1. 最开始很多是copy代码
2. 发现这些代码可以抽象-- 比如, 一屏下来好几个函数长得差不多, 只是参数或者内容逻辑上有些变化. 那么你可以把这些函数聚合成一个函数,通过传递不同的参数达到一样的效果
3. 看别人的项目, 看到别人实现你要做的事情用什么方式,  都有几种方式, 你甚至可以研究下哪种方法效率更高，那种方式写出来逼格更高,  然后总结, 思考，问问自己为什么他们这样用, 记下来.
4. 尝试看一些大型一点的项目的文档,甚至代码 -- 可能造成我的环境里报错了, 那就要研究为什么,  甚至可能直接阅读他的代码找到原因-我用错了, 他的错. 慢慢地觉得它们有点近了.
5. 发现别人的项目import了好多没见过的module, 我直接去google或者看python文档看它是做什么的, 都有什么方法, 常用于什么地方, 然后渐渐地用了几次就记下来了.
6. 用python无非三种, 运维/devops，web开发, 数据分析/算法. 每一种都有对应相关的库, 你渐渐的熟悉他们的用法, 甚至你在生产环境推了xx, 效果很不错, 心情灰常好. 
7. 随着你用的越来越深, 需要掌握的反而更多- 要学习一些前端的，学习一些linux/osx的. 你可能就会有想法, 我想做点什么大事. 
8. 这个时候可能你了解了MVC/MVT等等. 开始思考设计模式, 我要拆分, 让架构更合理. 我就要推翻我过去写的很多东西, 我准备重构了....
9. 重构过程很痛苦, 但是学到了很多. 然后设计模式也好, 设计思想也好, 渐渐的留在心里. 以后再写一个feature或者一个功能 会先跳出来很多为什么, 我应该怎么样/不应该怎么样. 会发现代码越来越漂亮. 效率越来越高. 
10. 开始吐槽同事的代码, 用法balabala. 既然吐槽了, 自己就不能太low对吧? 那对自己的要求就越来越高. 
11. 开始阅读大型的优秀项目的代码, 阅读是很类很痛苦的. 程序员最大的痛苦是什么? 看别人写的代码. 你还要进入作者的角色, 考虑ta为什么这么写这么设计. 呃呃. 突然发现他的代码逻辑有问题, 本地测试一下果然, 然后心惊胆颤的提了个pr. 然后被接收了. 这个世界立刻不一样了 -  你发现你原来没有想的那么差, 你可以吐槽你以为认为牛b的xx,yy了. 
12. 越来越有信心， 看了很多项目的代码，也贡献了很多. 学到了很多. 这个时候又再有了想法? python-我还有什么不会的呢? 好多第一个蹦出来的就是--我还没有读过python源码, 好吧c我不会. 但是标准库基本是python写的. 看看我成天import的那些东西是怎么写的, 还有什么奇葩的用法. 这个过程很费时间, 我第一次读大概有40%没懂 或者忘记了. 但是已经有一种感觉 - 一旦想到一个需求就能想到python标准库里面有没有已经实现了的，如果有可能记不清在哪里-这就是挽回记忆的时候了. 我有一段时间在重构这部分, 把我写的一大段一大段删掉 换成`from x import y`. 然后我又一个认识-python最好的用法, 最nb的功能其实都在python标准库里面的. 我建议每个学python得都要看一遍标准库. 而不是看python官方文档而已.

好吧 我顺便给标准库贡献了点代码-我真的很想贡献很多, 发现英文阅读能力, python库的测试覆盖很高，代码的作者们都很nb，造成我很费劲的只贡献了几行而已. 13. 从此之后, 设计一个项目我就有了新的角度 - python标准库有没有对应部分的实现. flask是怎么设计的. 我能借用到什么? celery这么组合的, 那些我觉得不适合我这里. 我怎么调整? 我的这个东西在xx里有什么样的作用和位置 14. 继续给喜欢的项目贡献代码, 顺便读读它的代码. 觉得我不喜欢的它的用法. 我fork一个. 做成我想要它成为的样子. 15. 突然发现用了很几年的web框架, 现在虽然用什么都没问题, 也可以现学现用. 但是发现一个根本点? 我为什么一直在用别人写的框架. 不如自己写一个. 好吧我正在写.... 16. 对我来说就发生到这里，之后的还不知道 希望对大家有帮助