我想在这里请求大伙帮助我决定一个系统学习Python的计划.
其实说起来我用Python有一段时间了. 用过web.py写过网络应用, 用过Blender脚本系统写过自动化的几何处理程序, 用过Python做codeforces的题目.
然而我终究觉得自己用Python停留在那种语法/库函数靠Google搜索的层级. 对于一个问题, 通常StackOverflow上第一篇命中的结果就被我用做解决方案了, 它们只是恰好能工作而已, 而并不知道这个解决方案的适用范围(比方说对于更为通用的问题之下有没有更好的方案), 其内在的机制(比方说对于执行效率的关注).
对比C++, 我对每一行的语句的执行效率都大概有数, 甚至我都能想到这些语句生成的汇编码; 我对C++的语言设施也是较为熟练, 我可以针对要实现的逻辑确定基本正确的语言设施.
然而对于Python, 我完全处于一种困惑的状态: 有那么多的语言设施, 不同的风格, 我到底该以什么样的标准去抉择?
所以在这里, 我想请教万能的V2EX, 我想深度的学习Python, 换句话说, 我想学习idiomatic Python:
我想能够根据自己将要实现的逻辑来决定使用什么样的语言特性, 而不是反过来: 学习了一堆语言特性, 然后再看它们可以用到何处;
我想能够写出一手成熟的代码: 让其他Python程序员能够快捷的理解我的设计;
我想去熟悉一个Python程序员所惯用的工作流, 比方说debugging, profiling, optimization(内存/效率上的), testing, documentation, 以及你们常用的工具.
谢谢!
其实说起来我用Python有一段时间了. 用过web.py写过网络应用, 用过Blender脚本系统写过自动化的几何处理程序, 用过Python做codeforces的题目.
然而我终究觉得自己用Python停留在那种语法/库函数靠Google搜索的层级. 对于一个问题, 通常StackOverflow上第一篇命中的结果就被我用做解决方案了, 它们只是恰好能工作而已, 而并不知道这个解决方案的适用范围(比方说对于更为通用的问题之下有没有更好的方案), 其内在的机制(比方说对于执行效率的关注).
对比C++, 我对每一行的语句的执行效率都大概有数, 甚至我都能想到这些语句生成的汇编码; 我对C++的语言设施也是较为熟练, 我可以针对要实现的逻辑确定基本正确的语言设施.
然而对于Python, 我完全处于一种困惑的状态: 有那么多的语言设施, 不同的风格, 我到底该以什么样的标准去抉择?
所以在这里, 我想请教万能的V2EX, 我想深度的学习Python, 换句话说, 我想学习idiomatic Python:
我想能够根据自己将要实现的逻辑来决定使用什么样的语言特性, 而不是反过来: 学习了一堆语言特性, 然后再看它们可以用到何处;
我想能够写出一手成熟的代码: 让其他Python程序员能够快捷的理解我的设计;
我想去熟悉一个Python程序员所惯用的工作流, 比方说debugging, profiling, optimization(内存/效率上的), testing, documentation, 以及你们常用的工具.
谢谢!