我第一次接触python,是因为很多人说她语法优美,粘合度高,被誉为胶水语言,然后就去啃她的语法,然而其实我是不知道她能用在什么地方的,这是真的,可以说那时候是单纯地为了学python而学python,这样的学习没有事务最为奠基自然是不可能坚持的下去的。而最近因为爬虫又捡了起来,距离上次学习爬虫已经有一年半的时间了,学习了一段时间,逐渐发现自己挺喜欢这种语言,当然我不是在学说空话,我可是在学过C,Java,C#以后才说的这句话

所谓优雅,有一部分来源于她任性的缩进规则: python语言是一种清晰的语言,这意味着她的作者有意设计为限制性很强的语法,让不好的习惯(e.g. if语句下一行不向右缩进)都不能编译通过,这样有意强制程序猿养成良好的编程习惯

python可运用在网站运维(继Bash shell perl以后),爬虫(数据挖掘),还有金融数据分析上,而最近我认识的有些搞科研的同学也开始用python实现一些数据分析工作,而原本他们都是只用matlab或者是R

既然提到了数据挖掘,就说说数据挖掘师和数据分析师的区别,网上很多说他们的区别的文章,可是篇幅都很长,我觉得说来说去就一句话:数据挖掘师的技术含量要高于数据分析师,尽管他们都有数据两个字,但是工作内容却是不一样的,数据分析师服务于管理层,为管理层写报表,展现数据,但是并不直接产生业务价值,说不好听一点就是马后炮,而数据挖掘师要有扎实的统计学基础,计算机学科的背景,因为所有的工作都必须代码实现,数据挖掘师要把一些应用于大数据的一些前沿算法用工程的方法一点点实现,甚至有时候还要做数据分析师的工作,你说那个工种含金量高.

P.s. 在数据处理上,出现率比较高的是R和Python,知乎有一句精华把他们俩的区别说的很透彻:R是一群统计学家在编程,而python是一群计算机专家在争取做数据处理,按照我们这些计算机背景出身的人来说,自然python会比较符合我们的相性多一点:D

python自己有许多实现(利用许多其他语言来写python的解析器),它可以基于C/C++ Java C# Ruby js等,甚至是她自己来写来制作。所以它可以和C/C++/Java/C#/Ruby/js等各类语言直接交换数据,而不仅仅只是通过REST/JSON/XML交换数据,这也是为什么她被称为胶水语言的原因之一

python有两个版本一个叫2.7一个叫3.0,当然这只是统称,2.7指的是老一代的python,比如2.*的,而3.0是新一代的python,python是少有的新一代不兼容老一代的特性,因为要保持优雅整洁,而兼容意味着要拖泥带水,软件的世界里面不兼容意味着要被淘汰,因为语言可以再选择,保不准有遗留了一大堆python2.7的代码,看你python3的不顺眼,一个fork又开了个分支兼容历史代码,所以,python3的出现都是悄无声息的,python2.7到python3,大家给了一个很长的过渡期,既然不能向前兼容,那就只能用长过渡期的办法代替。

python一切皆为对象,至于这句话要怎么理解,我现在还没有什么感悟,是和Java一样的纯种oo语言么?