目前Python有两个版本:Python2.x和Python3.x,要知道,这两个版本并不兼容,后者比前者多了很多特性,语法也有所不同,目前Python2.x已经停止更新了,所以我们直接学习Python3,有使用Python2写的项目还可以继续用,而且还有类似Python2to3的转化工具等。
关于Python,如果想非常全面的了解,内容还是不少的,这里我把它的一些重要特性提取出来进行讲解,总统为以下几点:
1.解释性语言
我们知道,计算机语言可分为编译性语言和解释性语言,前者如汇编、C、C++等,程序在执行前需要使用编译器翻译成最终能在机器上执行的0和1组成的机器码,然后由CPU依次执行;而后者,需要事先有一个解释器,说白了就是翻译官,你只需把写好的程序交给它,由这个解释器支逐条翻译成计算机能理解的指令然后去执行,我们正在学的Python语言就是一种解释性的语言,类似的语言还有Java、Perl等。
2.交互式语言
理解了什么是解释性语言,就能很好的理解交互式,所谓交互式,就是用户可以跟计算机进行交流,用户“说”一句,计算机执行一句,用户在终端(Windows系统下的cmd命令行)输入想做的事情,比如文件copy的动作,按回车后,计算机就去执行。Python也是一种交互式语言,可以像批处理语言一样,通过终端与计算机"talk"。
3.面向对象语言
回顾编程语言的历史,有面向过程的,如C语言,还有面向对象的,如C++、Java、Python等,所谓面向什么,说白了你可以理解成程序员在写代码时,脑子里面想象的内容。比如要实现把大象放冰箱,如果用面向过程的程序设计逻辑,那就是第一步,打开冰箱门,第二步,开吊车搬大象往里放...,如果用面向对象程序设计,那就是有一个类中的方法,该方法实现了把大象放冰箱的功能,然后我们调用这个类方法。
4.源码开放
Python语言的源码是开放的,包括它的各种模块的实现,如果你有兴趣,可以好好研究一下,源码在github上都能找到。世界上好多伟大的项目都是开源的,比如Linux、tensorflow框架等,正是由于开源,才有更多的人才投入到项目的继续开发中,为项目的不断创新增加动力。
5.移植性强
这个也很好理解,上面已经说了,Python运行环境中有Python解释器,所有的Python脚本得以运行正是由于这个解释器在工作,解释器抽象了不同机器底层硬件,使上层用户专心于其程序逻辑设计。目前Python安装包有三个版本:Windows版、Linux版、Mac/OS版,不同设备只要安装好了对应的python执行环境,可谓是代码一处编写,到处运行。同时这里再说一下解释,网上有人说Python语言效率低,这个问题我觉得看你怎么理解了,Python语言其实其底层调用了大量的C库,跟C比,效率肯定是差一点,脚本语言效率本身就不会很高,但效率高不高在乎开发者的框架是什么以及优化的程度,举个例子,python提供的用于科学计算numpy库里的函数效率就非常高,但如果你就是用python实现矩阵乘矩阵,那肯定效率不高。
说了这么多,其实我们只需要知道Python语言用的比较多,使用很简单就行了,正是由于一大批的科学家、计算机学家、数学家们的努力投入,造就了python简洁好用的特点,我们相当于是站在巨人的肩膀上搞开发,轮子已经造好了,我们只需要按自己的需求拿过来使用,完成我们要的功能即可。今天就为大家讲解到这里,后面章节会顺次进入python的学习实践。