Python是什么
Python(英语发音:/ˈpaɪθən/), 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年,Python 源代码同样遵循 GPL(GNU General Public License)协议。Python语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。(来自百科)
Python的由来
Python的创始人为Guido van Rossum。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC语言的一种继承。之所以选中Python(大蟒蛇的意思)作为程序的名字,是因为他是一个Monty Python的飞行马戏团的爱好者。牛逼的人物就是牛,这跟当前的汤普森创建Unix有着异曲同工之妙;当年的高德纳老爷子,为了写文章舒服就发明TeX排版。
ABC是由Guido参加设计的一种教学语言。就Guido本人看来,ABC这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,Guido认为是非开放造成的。Guido决心在Python中避免这一错误(的确如此,Python与其它的语言如C、C++和Java结合的非常好)。同时,他还想实现在ABC中闪现过但未曾实现的东西。
就这样,Python在Guido手中诞生了。实际上,第一个实现是在Mac机上。可以说,Python是从ABC发展起来,主要受到了Modula-3(另一种相当优美且强大的语言,为小型团体所设计的)的影响。并且结合了Unix shell和C的习惯。
介绍完Python的历史及由来后,接下来我们介绍一下为什么要学习Python。
为什么要学习
Python最近几年发展的非常火,我们看一下近三年的编程语言排行榜,看一下Python的排行就知道了。
近几年的流行度
首先看2015年3月份的排行情况:
这是2015年3月份的排行,位于第8名的位置。接下来看看2016年3月份排行榜Python的位置排名:
2016年3月份已经上升到了第5名。接下来继续看看2017年5月份发布的编程语言排行榜中Python的排名:
截止到2017年5月份,Python的排名已经跃居第4名了。
入门相对简单
Python语言相对其他语言来说相对简单些。比如同样写一个“Hello,World”这样的一个入门程序,我们对比一下C、Java及Python分别是如何写的。
首先看C的写法:
#include <stdio.h> int main(int argc, char *argv[]) { printf("Hello World\n"); return 0; }
对上面的C代码编译及运行:
(mypy) [lavenliu@V**server ~]$ gcc -o hello hello.c (mypy) [lavenliu@V**server ~]$ ./hello Hello World
再看Java的写法:
public class Hello { public static void main(String[] args) { System.out.println("Hello World"); } }
对上面的Java代码进行编译并运行:
(mypy) [lavenliu@V**server ~]$ javac Hello.java (mypy) [lavenliu@V**server ~]$ java Hello Hello World
接下来我们看看Python的“Hello World”的正确打开姿势,在命令行中直接输入python即可进入Python的交互式解释界面:
(mypy) [lavenliu@V**server ~]$ python Python 3.5.2 (default, Jun 16 2017, 08:22:30) [GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> print('Hello World') # 仅此一行就搞定了“Hello World” Hello World
由此看来,是不是很简单?
DevOps的发展
近几年DevOps的发展,促使开发、运维及测试等部门的紧密结合(DevOps的概念源于亚马逊及Google等这样的超大型互联网公司,这些公司部门员工需要紧密协作,同时又不希望出现部门割据。)。
DevOps的另一个意思也是要求运维具备一定的开发水平,这样才能提高自身竞争力。现在单纯的运维已经面临非常尴尬的局面:公有云的兴起,大部分新型公司已经对运维的依赖性比较小了,云厂商已经把大部分的底层的运维工作给做了。如,系统监控等等。这时,运维人员的存在几乎变得可有可无,剩下的工作,开发们都可以完成。对于公司来说,也节省了人力成本。
对于那些基础的且毫无开发经验的运维来说,只能做一些底层的一些工作。如果想要破局,小白认为:其一,向资深运维发展(成为运维专家);其二,向运维开发发展(具备开发水平)。
接下来说说如何学习。
如何学习Python
学习Python之前要有Python的环境。首先,在我们的系统上要安装Python。其次是版本的选择,选择Python2还是Python3呢?如果我们纯粹学习Python这门语言,那么小白建议选择Python3。而且,Python2的支持年限是到2020年,那我们为什么不选择Python3呢?
关于怎么安装Python,本文不做过多介绍。如果您使用的是Gnu/Linux或Mac OS,那么这些系统上默认是自带Python环境的,可以直接拿来使用。如果您用的是Windows,那么Python的安装也是比较简单的。
学习Python要有趁手的工具才行。首先,我们要有自己喜欢的编辑环境。那么,我们可以选择编辑器及IDE。编辑器这里小白推荐使用Vim或Emacs,一个是编辑器之神,一个是神的编辑器,两者都非常强大。如果要使用IDE,墙裂推荐使用PyCharm。
专心看本公众号文章
小白是从2014年开始自学Python的,中间经历了各种的问题,写了很多笔记。也写了很多与工作相关的脚本。后续的文章会娓娓道来。还请大家多多关注。小白所写每一篇文章都是精心写作,并上机实践,确保案例的可行性及正确性。
动手实践才是硬道理
天下武功,唯快不破。学习编程,唯不动手而学不会。学习编程最大的忌讳就是不动手实践。学习了一定的理论知识,并没有经过动手实践及长期的大量练习,会有一种学完即忘的感觉。所以,学习编程的宗旨是:动手、实践、实践、再实践!
每天坚持一定的代码量,不管多少。可以为了解决一个问题,可以为了好玩等等目的。保持一定的代码量,这样才能做到说写代码,就能写出代码的效果。
总结
本公众号更多的是关注Python的学习,就像前面的文章说的一样,但不限于Python。期间还会有一些Linux运维相关的文章。另外,小白是非常喜欢TeX及Keynote的,如果有机会也会在公众号里跟大家分享。