2018/2/2 19:07:21当前位置推荐好文程序员浏览文章

前言

前言之前的前言

最近朋友圈被python刷了屏,无论是同学,还是运营,文案,甚至连微商们都立下了好好学python的flag,都发了分享进入python即时训练营的朋友圈。至于python为什么这么火,我就不多做赘述了,大家耳濡目染早已知道,小蛇废话不多说,让我们一起单刀直入学python吧。

先说明一下,在简书江湖,我一直用小红豆这个名号混迹,为何突然之间改为小蛇?那是因为,python在英文里有蛇的意思,取这个名字也是祝福自己学习python事半功倍吧。

为何用python

如果把程序员的天下比作一个江湖,那么我觉得在现如今的江湖,有三种语言功夫是必须要会的。C、python、Java。为何这么说呢?看过射雕英雄传的人都知道,郭靖天资不高,在快到嘉兴府醉仙楼比武之约时,丘处机仍然说,论武功郭靖不如杨康。可为何比武前夜得到丘处机指点心法一二最后却反败为胜?是因为郭靖基本功扎实。

C语言就是编程的基本功。只想把python作为闲时娱乐的一个工具无需在意基本功,可是立志要进入程序员这个江湖的人还是应该首先把基本功练扎实。用C把数据结构里的轮子重新写一遍,一方面你可以在这个过程中明确自己对编程是否感兴趣,一方面如果你真的感兴趣,你就会发现编程之美。

如果把C比作江南七怪教授给郭靖的基本功,那么java就是洪七公教授给郭靖的降龙十八掌。Java基本上是一个遇佛杀佛,遇魔杀魔的存在,web、app、后台等等无所不包,而且现在大规模工程用的清一色全是java。可他也有一个弊端,那就是消耗内存,用在一些芝麻粒的小事上有些杀鸡焉用牛刀的感觉。郭靖内力充沛,那也不是随便就用这招,无不是遇到绝境,不得已才祭出这最后的法宝。

那么python是个什么地位呢?它可以比作是洪七公另一绝学,打狗棒法。你说乞丐打狗总不能用降龙十八掌吧,这打狗棒法便派上用场。洪七公在教授给黄蓉时也说,学会此法,应付一般二流高手,绰绰有余。

这里不是说python比起java不如,语言没有高低优劣之分。Java擅长应对大型工程,python擅长应付一些小规模应用。比如爬个百来十页的网站,处理一些计算量大的矩阵,自己闲来无事想做个数据分析,画个饼图,这些都是python所擅长的。这些工程往往百行代码就能解决,可是如果用java,还没写就有了十来行代码,真的是得不偿失。

怎么形容呢?Java就好像一个蒸蒸日上的清王朝,python好比西方舶来的奇巧淫技,谁知道python有一天会不会颠覆如今由java构建的王朝呢?

python的简洁优雅

Life is short, you need python.python自问世以来就以简洁优雅而闻名于世,那么python到底是怎么个简洁法呢?下面举个例子大家体会一下。
words = [‘abc’, ‘cd’, ‘ddffb’, ‘a’] print(sorted(words, key = len, reverse = False))

字母排序.png

仅仅两句代码就完成了先按照字母个数多少,再按照字母表顺序的排序。sorted是一个函数,它完成了按字母表顺序的排序。key是这个函数的一个参数,用来完成额外排列顺序的提供。在这里,len()本身是一个函数用来度量元素长度,却也可以作为参数提供给sorted,意思是在按照字母表顺序基础上,优先按照单词长度排序。

函数作为参数传递给另一个函数本是所有语言中都有的功能,可是这一点在python中体现的尤为明显,而且更加灵活。以后大家可以慢慢体会到,这一部分在python高阶函数用法中会有详细介绍。

再看一段代码。

import requestskv = {wd : python}lst1 = [c, python, java, php, go, javascript, vb]lst2 = []for i in lst1:    r=requests.get(https://www.baidu.com/s?wd=+i, headers = {User-Agent :Mozilla/5.0 (Linux; Android 4.1.1; Nexus 7 Build/JRO03D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166  Safari/535.19})print(len(r.text))
词条个数.png

这样来判断一门语言流行不流行肯定是不合理的,不过贴这段代码主要是想让大家感受一下python中循环体的简洁美。for I in lst1中并没有命名i是什么,但是python自动识别为lst1列表里的每一个元素。

废话这么多,主要是想让大家体会一下python语言的优越性与特色,让大家真实感受一下这门语言的“简洁”,而不只是口上说说而已。

数据分析师的成长道路

我之所以学python呢,一是以后做实验处理数据需要用到,而是以后所向往的工作——数据分析与挖掘也需要掌握python。因为我按照我自己的学习路线来给大家的学习路径提一点建议。

俗话说一图胜千言,一个优秀的数据分析师一定要擅长制作思维导图,流程图等等。给大家上一个自己制作的简单的数据分析师的知识架构。

数据分析师知识结构流程图.jpg

有关亿图再说两句

这个图是使用亿图制作的,在这里简单说点题外话。我在python专题里的第一篇文章就介绍了亿图图示这个很优秀的软件。它不仅可以画思维导图,流程图,还可以画城市交通图,建筑设计图等等,功能强大,因此它是收费的,需要580块钱。

我用了很久,之前写的文章中破解的是亿图8.0,因此不少人问我要破解软件。我有的给了,有的没有给。之所以没有给,一方面是因为我中间有段时间很久没有用简书没有看到消息,一方面也是因为被某些人整的心累。就比如有个人为了要破解版专门加了我的好友,我刚给他,想说句“加油”发现已经被删了。有的人我把链接发给他了一句谢谢也没有(可能是我玻璃心,毕竟找到破解版也不是说分分钟的事情)。

在这里我声明一下,同时也为了防止我百度云盘资源被删,请大家私聊我,我会发最新链接给你们。

祝大家学python学的开心。

网友评论