我刚学python3个月不到,分享一下我的学习经验。
半年前从某大牛同学那里听说了python很不错,一直想学习,不过自己很懒,就没动手。
今年寒假的时候,我和几个同学开始筹划着搞一个网站,讨论用什么写的时候,我想到了python。(最终我们就是用了python,然后使用了web.py的框架)。
寒假里面我看的第一本书是《python基础教程》,也是那个某大牛推荐给我的,这本书从python的基础讲起,省略了一些太细节的或者说太神奇的python特性,关注python的应用。那上面最后有几章python的开发案例,很有借鉴意义。
我用python写的第一个程序是金山快盘的签到程序,参考了部分别人的代码,当时对很多python库都一无所知,从那时才开始用起来的。
然后开学了,趁着手熟,正好要选课,我用python完成了自动抢课的一个小程序,默默开了两周,真抢到课了但是我又不想上了就退了=。=
然后网易来交大校招暑期实习,当时一热血,我报了python的岗,考了笔试。这次笔试成为了我一个巨大的转折点,我发现我什么都不会(真心很捉急啊,其实才学了1个月,自以为很牛真去考了)。列表推导式,lambda表达式,装饰器...等等无数我基本处于空白阶段,我感觉我写python跟写C一样,无比丑陋,一点pythonic的样子都没有。
然后我就不开心了,又是快一个月,我一有空就去github或者python社区看别人写的代码,思考别人的经验,这一段时间整理了好几篇博客,都是有关python的。有人说,学习多少编程语言不重要,如果一门新的编程语言改变了你的思考方式,那才是真正学到了。我第一次开始有追求漂亮的很酷的代码的欲望,所以我学着研究python里面不同于C的特性,向函数式编程什么的,然后去使用它。比如现在时不时我会把一段代码用map/reduce实现,时不时我会使用python的迭代器,生成器。总之这一段时间,我的学习是通过首先观察别人简洁的代码和风格,然后自己去研究python的特性,然后动手去实现去应用。
这一段时间我抽空也会翻一翻python的《cookbook》,上面有很多小问题的solution,很有借鉴意义。
我自己感觉现在我用python作为平时的工具已经熟练了,下面的阶段我是想多研究一下面向对象这一块的东西。其实像python我觉得入门了,就不需要别的书了,直接去看document会更好,上面都是很全面很标准的一些东西。之后多写多练,搞一些小程序,学习一些常见的库,用好python基本就没问题了。多练很重要,除了小程序,python有不少做网站的开源框架,学习一个做一个网站也不错。
python是一个快速发展的语言,还在不断变化,如果热爱python可以多去各种社区看看最新的消息。如果只是作为一个工具的话,用好了也是很happy的,库很多很方便,基本上可以完成任何你能想到的工作,特别是很多的工作拿C实现很麻烦的,python就很方便。我最近在搞一个学校里面的邮件处理的项目,统一一个邮箱,老师们有通知就发到那个邮箱,python可以自动把邮件取出来读进数据库然后放到网站上,这些python都可以做到。
要是深入下去的话,可以研究一下python的源码,或者python一些库的源码,都是C实现的。