学习 Python 的三种境界 前言王国维在《人间词话》中将读书分为了三种境界:"古今之成大事业、大学问者,必经过三种之境界:"昨夜西风凋碧树,独上高楼,望尽天涯路’。此第一境也。"衣带渐宽终不悔,为伊消得人憔悴。’此第二境也。"众里寻他千百度,蓦然回首,那人却在灯火阑珊处’。此第三境也。我从入门Python到现在也没有多少时间,所以写如此大的一个题目必定会引发各种批判,当然我没有想造一个大新闻,只是想根据自己的学习历程做一个简单的总结,同时将这三个阶段对应的一些好的书籍简单介绍介绍。

正文 Python的用途十分广泛,不同的程序员将其用于不用的领域,不同的程序员将自己的代码打包成库,供其他程序员使用,从而少造轮子,各种库的使用,加之Python本身的灵活性、易读性,易写性,使用的人越来越多,tiobe统计编程语言的使用率如下:Python在一年之间使用排行榜中上升了3名,而且各大公司在招聘员工的时候如果能掌握Python,肯定是一个加分项,因为Python在文本处理,小程序的写作方面具有太强的优势,前段时间一个朋友让帮忙改下他们公司logo的颜色,第一个想到的就是用Python,女票让我帮她预处理大数据,第一个想到的仍然是Python等等,当然并没有说其他语言不好,也不是为了讨论哪种语言更好,只是Python确实是一门会让人幸福的语言,下面粗浅的说说我对Python学习过程中的境界划分以及推荐书籍。

第一个阶段:初级,掌握Python的语法和一些常用库的使用这里首先推荐在腾讯官方课程平台上进行直播学习,有号就能无偿一直学,每天晚上都是高清直播(企鹅球球:1129中间是834最后加上这个903连在一起就可以了),除此之外基于python2.7在网上的书籍适合于重头开始一直读完,作为一个开发人员,除了基本的语法,这本书里面提到了一些其他的常用的库,看了廖老师写的很多东西,感觉他的思路,以及写博客写书的高度,概括性,原理性都十分好,这本书读完之后,相信就可以动手写很多东西了,可以尽情的玩转Python解释器了。

另外还有一本书《Python参考手册》,这本书也十分的有用,关于Python的方方面面基本都囊括在内,可以作为一本Python字典来查询使用方法,十分好用。

掌握一门语言最好的方法就是用它,所以我觉得边学语法边刷Leetcode是掌握Python最快的方式之一。

很多只需要将Python作为脚本或者就是写一些小程序处理处理文本的话,到这一个阶段就足够了,这个阶段已经可以帮我们完成很多很多的事情了。但是如果是一个专业学习Python的,恐怕还需要努力的升级:首先,国内的大多数人都是学习了其他语言(C,C++,Java等)之后来学习Python的,所以Python和这些语言的不同,也就是pythonic的东西需要一些时间去学习了解和掌握;另外,对于自己领域的领域的库构架的掌握也需要很长的时间去掌握;最后,如果想独立完成一个Python的项目,项目的布局,发布,开源等都是需要考虑的问题。

第二个阶段:中级,掌握自己特定领域的库,掌握pythonic写法,非常熟悉Python的特性

推荐的第一本书是《编写高质量代码–改善python程序的91个建议》,这本书大概的提了下Python工程的文件布局,更多的总结了如何写出pythonic的代码,另外,也介绍了一些常用的库。

要想深入的了解Python,有的时候看看Python的源码也是很重要的,自己通过读懂源码,来彻底的了解Python的核心机制,这里推荐《Python源码剖析——深度探索动态语言核心技术》,这本书并没有看完,只是在需要深入了解Python某个功能或者数据结构的时候看看相关章节,也觉得受益匪浅。

自己领域的书籍和资料也肯定很多,比如web开发的构架都有很多,只有了解熟悉了所有构架,在选择的时候才能衡量利弊,然后深入掌握某些构架。

这个阶段过后,可以写出pythonic代码,可以通过PEP8的检查,可以为开源社区做贡献了,可以将一个Python文件写的十分好,但是如果要用Python开发一个大型项目,还是有很多东西需要掌握的,比如项目的文档,项目的发布,下载,项目性能和案例等等。

第三个阶段:高级,从整个工程项目着眼,考虑document,distribution,性能优化等

目前只看了一本书《the hacker guide to python》,看的是英文版的,这本书对项目的布局,文档,性能,发布等做了很多详细的介绍,我觉得写的还是很不错,只不过本人还需要再读几遍。

对于大多数人来说,很难有机会从头开始一个有意义的大型工程项目,所以自己可以用Python实现一些简单的功能,简单的项目,这个灵感可以去知乎或者quora搜索,很多前辈都分享了自己的经验。

从大局入手,规划好项目的布局,设定好相应的文档说明,提供工程下载安装的方法,带几个demo,每个类,每个函数,每行代码都反复推敲,写出pythonic的程序,相信这时候Python于我们便是信手拈来了!

总结

本文只是我认为的学习Python的三种境界,以我粗浅之眼光,肯定有太多太多的不足,而且自己也就是一个介于初级和高级Python程序员的水平,写这个文章,也算是给自己设立的一个目标吧。

取消

评论

python学到什么程度可以写爬虫-刚开始学习 Python 到可以写出一个爬虫大约需要多长时间...相关推荐

  1. python学得好 牢饭吃的早_关于学习python的几个好习惯?

    慕仰1329654 随着Python在国内的发展,特别是在自动化运维领域,运维开发者99%使用Python开发自动化运维平台:在软件行业里面使用Python编程语言的公司会越来越多,那么在学习Pyth ...

  2. python学全栈还是运维_Python全栈学习——Python基础及Web开发

    原标题:Python全栈学习--Python基础及Web开发 在DevOps火热的敏捷行业中,无论是开发还是运维都在互联网快速发布下练就了一身的本领,微服务下的敏捷开发体系及智能运维体系都在实战中逐步 ...

  3. python怎么自学、可以达到什么程度-Python学到什么程度才算精通?天津Python培训...

    到底将Python学到什么什么程度才算是精通呢?想必每个人都有着自己的意见和想法,如:会分析数据.爬虫.web等,但是在小编看来这些并不是精通Python,这些知识精通某一个领域罢了. 一.那么要怎样 ...

  4. 精通python能干什么-Python学到什么程度才算精通?天津Python培训

    到底将Python学到什么什么程度才算是精通呢?想必每个人都有着自己的意见和想法,如:会分析数据.爬虫.web等,但是在小编看来这些并不是精通Python,这些知识精通某一个领域罢了. 一.那么要怎样 ...

  5. 迷思:Python学到什么程度可以面试工作?

    迷思:Python学到什么程度可以面试工作? Python学习者越来越多,现在中国对Python的使用量已经跃居全球首位,越来越多的高手都使用 Python来编写框架.制作工具.完成功能,那么开发功能 ...

  6. 自学python到什么程度可以找工作-Python学到什么程度可以找到工作

    凡是找不到工作的,能力都没有达到公司对初级程序员的最低要求. 目前Python 职位很多,用排除法,适合完全小白转到初级程序员 只有二种职位比较适合:web开发.爬虫 那么...Python学到什么程 ...

  7. 什么样的python程序员好找工作-Python学到什么程度才可以去找工作?掌握这4点足够了!...

    大家在学习Python的时候,有人会问"Python要学到什么程度才能出去找工作",对于在Python培训机构学习Python的同学来说这都不是问题,因为按照Python课程大纲来 ...

  8. python学到什么程度可以做兼职-Python学到什么程度才可以去找工作?掌握这4点足够了!...

    大家在学习Python的时候,有人会问"Python要学到什么程度才能出去找工作",对于在Python培训机构学习Python的同学来说这都不是问题,因为按照Python课程大纲来 ...

  9. 学会python能找工作吗-Python学到什么程度才可以去找工作?掌握这4点足够了!...

    大家在学习Python的时候,有人会问"Python要学到什么程度才能出去找工作",对于在Python培训机构学习Python的同学来说这都不是问题,因为按照Python课程大纲来 ...

最新文章

  1. 8080CPU寄存器划分
  2. 重新编号_武汉黄陂公交线路PW、PG、PZ……分不清?别急,就要重新编号啦
  3. Office 2010 体验之Word 2010篇
  4. adb链接手机调试android应用
  5. spring注解源码分析--how does autowired works?
  6. 虚拟机中的solaris无法通过putty连接(网络模式为桥接模式)
  7. 《系统集成项目管理工程师》必背100个知识点-97信息系统生命周期
  8. thinkphp5.0 使用paginate 分页后 foreach 循环体内不能处理数据的解决办法
  9. java泛型中的E,K,V,T,U,S
  10. 实操教程|用不需要手工标注分割的训练数据来进行图像分割
  11. 力扣1281.整数的各位积和之差
  12. 全栈开发永远成不了高级程序员?!
  13. 8_19 比赛总结 [暑假集训]
  14. c语言试讲课程,《C语言程序设计教程》试讲教案.doc
  15. 常见几种java排序算法
  16. Halcon测量圆直径(半径)的方法之暴力拟合法 vs 测量工具法
  17. 更改计算机时间格式,修改电脑日期时间显示格式
  18. 百度导航hd android,百度导航hd版-百度导航hd版下载-安卓手机4.5.1APP免费软件-最笨下载...
  19. 微信王者有ios的服务器吗,王者IOS微信区国服瑶多有钱?凌晨撒4W红包,点开头像傻眼...
  20. 小学计算机集体听课评课,小学听课评课活动总结

热门文章

  1. python无限次输入_在Raspberry Pi上的Python用户输入无限循环内部输入时很多输入错过了输入...
  2. 计算机硬件维修是哪个专业,计算机硬件维护须知
  3. 5G信令(就是用户身份信息)——手机开机后,先从USIM中读取之前运营商分配的临时身份信息GUTI/TMSI,发送携带该身份信息的信令给基站,请求接入运营商网络。...
  4. Scrum介绍——续
  5. 19-6/24作业:求四位会员卡号之和
  6. blfs(systemv版本)学习笔记-使用apache创建简单的网页服务器
  7. 算法 【第九章】动态规划问题
  8. composer安装其实可以很简单 两行命令就解决了
  9. python四个带 key 参数的函数(max、min、map、filter)
  10. python2.7.13环境搭建