作为一个『其实不太会写代码但生活所迫硬要写代码』的心理学专业同学,我比较集中地使用Python的经历一共有两次。一次是在完成本基项目的时候,主要是使用vizard模块进行3D场景的设置与搭建;另外一次是在专业实习期间,使用了pandas/numpy/siki-learn模块来整理数据和实践机器学习算法。
在使用Python的过程中,我最大的感受就是,Python对非计算机专业但硬要写代码的同学们来说,最大的优势就在于,它真的是一门拿过来就可以用的语言。
以『天气抓取』这个主题为例:
1.假设有一天,我突然想要知道一下北京眼下各处的PM2.5怎么样,但现学爬虫又好像太慢了。于是我想,那我在程序员大佬们聚集的网站上看看有没有人写好现成的代码吧?于是我在github上查找『PM2.5』这个关键词,语言选Python。
挨个点开看看简介,找到比较适应自己需要的一个——我觉得我比较喜欢第三个,就是numbbbbb这个,打开看下README文件:
这位程序员朋友指出他的代码只能在Python2下使用,那我们就给自己安装一个Python2。
访问Python官网,根据自己的系统自选下载。Python2和3在语法上有轻微的差异。比较流行的模块一般会兼容2和3。我同时装了2和3,以备不时之需。
然后我们需要一个比较美观的IDE来方便我们管理和运行自己的代码。我个人用的是Pycharm和anaconda的合体版(使用anaconda来管理不同模块,但写代码在Pycharm里写,主要是因为我一直对anaconda下的spyder感到困惑,但两者功能上是类似的,如果你很会用spyder,就不需要安装Pycharm啦),然后因为比较穷所以Pycharm用的是免费的社区版,目前没感觉到社区版有什么局限。
在桌面上新建了一个weather文件夹。然后大家可以看到,当你的电脑上同时有Python2和3的时候,你可以自由地选择这个项目用2,下个项目用3。因为写天气抓取程序的程序员在README中表示这里只能用2,所以我们选2.7。
如果你的电脑里已经有了anaconda,并且你也稍微用过那么一两次了,那么在这里我们可以额外加入一个步骤使你的anaconda和Pycharm达到完美合体:
Pycharm>>File>>default>>Project Interpreter ,点击最右侧的小齿轮图标,选择Add local,用Mac的同学请直接选中截图中的路径,Windows的同学请找anaconda文件夹下的Python.exe。在完成这步之后,同时使用anaconda和pycharm的同学以后新建project的时候就可以选择anaconda下的Python啦,然后就可以调用anaconda下的package们了(因为安装anaconda后使用pip命令或conda命令安装的package会自动存到anaconda的路径下,这时再选系统自带的Python作为Project Interpreter是没有办法使用anaconda下的package们的)
右键weather文件夹,可以创建一个新的.py文件。
这个时候我们返回去看github上的README文件,程序员告诉我们他的天气抓取模块可以通过如下语句安装:
那么我们就打开Mac的终端(Windows系统的cmd),输入这句代码。程序员说他的pm25模块依赖BeautifulSoup模块,所以如果在安装时你发现系统报错,说你还没有BeautifulSoup,那先安装BeautifulSoup后再运行这句话。
当确认pm25模块已经到位后,我们继续阅读README文件,发现程序员说这个模块是这样用的:
我们把它抄进pycharm。(AQI是空气质量指数)
右键运行后,输出了如下结果:
根据我们在C语言必修课上学到的for循环,简单地修改一下代码:
就输出了每个监测点的名称和当地的AQI:
然后我们就利用程序员辛苦工作的结果,简单地得到了北京市目前各地的空气质量结果。
我个人觉得,Python对于我们这些其他专业的同学来说,最大的优势就在于它有很多现成的、可以直接使用的模块。在以上的例子中,我们其实对Python本身的功能、语法一无所知,只是靠程序员留下的文档就顺利地完成了任务。
但是,这并不是说了解Python中的一些基本规则是不重要的,因为学习Python自身的语法、了解一些基础的数据结构知识能够大大降低出错的几率,提升写代码的速度与质量——换句话说,改别人写好的代码时会改的又快又准。
所以我下周一的分享会带大家快速熟悉一下Python中的基本用法。