学习Python的三种境界
前言
王国维在《人间词话》中将读书分为了三种境界:“古今之成大事业、大学问者,必经过三种之境界:‘昨夜西风凋碧树,独上高楼,望尽天涯路’。此第一境也。‘衣带渐宽终不悔,为伊消得人憔悴。’此第二境也。‘众里寻他千百度,蓦然回首,那人却在灯火阑珊处’。此第三境也。我从入门Python到现在也没有多少时间,所以写如此大的一个题目必定会引发各种批判,当然我没有想造一个大新闻,只是想根据自己的学习历程做一个简单的总结,同时将这三个阶段对应的一些好的书籍简单介绍介绍。
正文
Python的用途十分广泛,不同的程序员将其用于不用的领域,不同的程序员将自己的代码打包成库,供其他程序员使用,从而少造轮子,各种库的使用,加之Python本身的灵活性、易读性,易写性,使用的人越来越多,tiobe统计编程语言的使用率如下:Python在一年之间使用排行榜中上升了3名,而且各大公司在招聘员工的时候如果能掌握Python,肯定是一个加分项,因为Python在文本处理,小程序的写作方面具有太强的优势,前段时间一个朋友让帮忙改下他们公司logo的颜色,第一个想到的就是用Python,女票让我帮她预处理大数据,第一个想到的仍然是Python等等,当然并没有说其他语言不好,也不是为了讨论哪种语言更好,只是Python确实是一门会让人幸福的语言,下面粗浅的说说我对Python学习过程中的境界划分以及推荐书籍。
第一个阶段:初级,掌握Python的语法和一些常用库的使用这里首先推荐在腾讯官方课程平台上进行直播学习,有号就能无偿一直学,每天晚上都是高清直播(企鹅球球:1129中间是834最后加上这个903连在一起就可以了),除此之外基于python27在网上的书籍适合于重头开始一直读完,作为一个开发人员,除了基本的语法,这本书里面提到了一些其他的常用的库,看了廖老师写的很多东西,感觉他的思路,以及写博客写书的高度,概括性,原理性都十分好,这本书读完之后,相信就可以动手写很多东西了,可以尽情的玩转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,性能优化等
目前只看了一本书《thehackerguidetopython》,看的是英文版的,这本书对项目的布局,文档,性能,发布等做了很多详细的介绍,我觉得写的还是很不错,只不过本人还需要再读几遍。
对于大多数人来说,很难有机会从头开始一个有意义的大型工程项目,所以自己可以用Python实现一些简单的功能,简单的项目,这个灵感可以去知乎或者quora搜索,很多前辈都分享了自己的经验。
从大局入手,规划好项目的布局,设定好相应的文档说明,提供工程下载安装的方法,带几个demo,每个类,每个函数,每行代码都反复推敲,写出pythonic的程序,相信这时候Python于我们便是信手拈来了!
总结
本文只是我认为的学习Python的三种境界,以我粗浅之眼光,肯定有太多太多的不足,而且自己也就是一个介于初级和高级Python程序员的水平,写这个文章,也算是给自己设立的一个目标吧。
Linux下大部分系统默认自带python2x的版本,最常见的是python26或python27版本,默认的python被系统很多程序所依赖,比如centos下的yum就是python2写的,所以默认版本不要轻易删除,否则会有一些问题,如果需要使用最新的Python3那么我们可以编译安装源码包到独立目录,这和系统默认环境之间是没有任何影响的,python3和python2两个环境并存即可
首先去python官网下载python3的源码包,网址
进去之后点击导航栏的Downloads,也可以鼠标放到Downloads上d出菜单选择Source code,表示源码包,这里选择最新版本351,当然下面也有很多其他历史版本,点进去之后页面下方可以看到下载链接,包括源码包、Mac OSX安装包、Windows安装包
这里选择第一个下载即可,下载的就是源码包:Python-351tgz,下载好之后上传到linux系统,开始安装
释放文件:
tar -xvzf Python-351tgz
进入目录:
cd Python-351/
配置安装目录,其他选项一般默认即可:
/configure --prefix=/usr/python
接下来编译源码:
make
执行安装:
make install
整个过程大约5-10分钟,安装成功之后,安装目录就在/usr/python
系统中原来的python在/usr/bin/python,通过ls -l可以看到,python是一个软链接,链接到本目录下的python27
我们可以不用把这个删除,不对原来默认的环境做任何修改,只新建一个python3的软链接即可,只是需要执行python3代码时python要改成python3,或者python脚本头部解释器要改为#!/usr/bin/python3
这里建立软链接如下:
$ ln -s /usr/python/bin/python3 /usr/bin/python3
这样就建立好了,以后直接执行python3命令就可以调用python3了,另外如果仔细看python安装目录下的bin目录,实际上python3也是个软链接,链接到python351,这样多次链接也是为了多个版本的管理更加方便,
python3新版本的安装就是这些,另外可能会遇到一个问题就是,python3交互式界面特别不好用,删除不能正常使用,必须按Ctrl+删除键才可以,上下键重复命令也无法使用,左右调整光标也无法使用,这样调试代码效率很低,原因是python3缺少readline这个依赖,默认使用pip3 install readline会提示找不到包,所以只能是手动安装了
因为readline依赖于ncurses库,如果没有这个库,编译readline的时候会提示can not find -lncurses,如果在centos环境下可以执行下面命令安装:
yum -y install ncurses ncurses-devel
安装ncurses库之后,再安装readline,readline可以在pypi下载,地址:,这里一定要下载源码包,其余的只能用于python2,下载之后执行下面命令安装:
tar -xvzf readline-6241targz
cd readline-6241/python3 setuppy install
这样执行完毕就为python3安装了readline,然后再进入交互式界面所有的 *** 作都好用了
python一般是默认安装的
终端输入python2或者python
应该会d出python的版本信息,然后是命令提示符
$ python2
Python 27 (r27:82500, Oct 6 2010, 12:18:19)
[GCC 451] on linux2
Type "help", "copyright", "credits" or "license" for more information
>>>
若提示命令不存在,就是没安装
安装python很简单,可以下载python源码自己编译,或者去官方网站找对应的rpm或者tarxz或者deb的二进制包
推荐网络安装,使用yum ,apt-get ,pacman等类似的工具安装python2
如果需要带GUI的IDE,像VC哪种的可以再安装eric
运行python脚本,python2 yoursriptpy 即可。
PS:
比如你写了一个python的程序,存成py形式的脚本。
然后在终端里直接用python2 scriptpy就可以执行了
这个是脚本语言,不需要编译,直接执行。
python的程序的缺点是: 需要提供源码,如果不想让源码被第三方获得,可以将其打包成二进制文件的形式。
pyinstaller就可以完成这个要求。
vim testpy
直接用python程序调用,结果如下:
大写的-F表示生成单一文件。
运行结果:
生成的可执行文件在dist目录中 。
>
以上就是关于该如何循序渐进学习Python爬虫_自学python爬虫路线全部的内容,包括:该如何循序渐进学习Python爬虫_自学python爬虫路线、为什么我安装了python3 set failed、LINUX下社PYTHON编程!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)