从这周起我们正式进入Python基础的学习了,那在正式进入学习之前,我们有必要先了解下python语言的一些特性以及编程的一些基本概念,关于python是什么,我就偷个懒,直接问度娘了,请看大屏幕:
Python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。
Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议[2] 。
Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。
Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中[3] 有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。
从这一段中我们可以了解到,第一Python是一个解释型语言,什么是解释型语言呢?简单给大家介绍下,实际上我们用任何一门高级语言写出的程序,机器是无法识别的,因为机器只认识0和1,那怎么能让机器理解我们写的程序呢,这就需要把我们写的程序翻译成能让机器理解的语言,那翻译的过程有二种,一种就是解释,一种就是编译,编译就是程序在运行前前把代码编译成机器能运行的文件,例如.exe文件,而解释型就不一样,解释型语言写完就可以运行,不需要编译,它在运行的时候才翻译,那么写到这问题就来了,就是因为解释型语言在执行的时候才翻译,而编译型语言在执行是已经不需要翻译了,所以解释型语言在运行速度会慢,比如Python写的C写的同一个功能,C运行速度要快很多,就单拿运行速度来说是比不过C/C++的, 也许大家会说这么python这么慢,是不是效率太低了,怎么满足我的编程需求?这还真不是这么去理解,因为每个语言都有每个语言的特点,有强的方面也会有弱的方面,对我们运维写脚本来说,说实话根本没差别,比如一个C程序运行需要0.1秒,python实现的需要1秒,比C慢10倍,但这0.9S对我们来说根本没感觉,另外这方面大家也不用担心,现在随着硬件的发展,它们直间的差别也越来越小,尤其现在的服务器配置动不动就16核,32G,运行个脚本根本不是个事儿。
说完特性接下来聊聊python都能干嘛,了解Python的都知道,因为Python有大量的模块库(当然也是很多人头疼的地方,这么多模块怎么学呀,这个以后我会说),所以基本能想到的它都可以做,写运维脚本或平台那只是冰山一角,就连现在流行的深度学习神经网络也都在用python,在这里其它我不多说了,我还是要讲讲运维发展和python的历史,在Python流行之前,我们运维基本采用shell+awk+sed组合来完成自动化运维工作,那个时代就是脚本时代,那时候你要脚本牛逼,那互联网公司基本随你挑,但后来随着运维自动化平台的发展,我们都开始研究怎么做自动化平台,复杂的操作点点按钮就搞定了,但在哪个时候是没有特别合适做运维自动化平台的语言,所以php在那个时候基本成了运维工程师的选择,比如我之前除了上面那三剑客我还学习了php,我们现在的服务器上老的报警脚本就是php写的,当我了解后也是一脸懵逼,然后就是Python来了,有时候我在想,真的要感谢python这门语言,因为Python让我们运维水平可以提升到一个更高的层次,运维具备了研发能力,给了我们做运维的小伙伴很大的技术上升空间,我觉得这才是运维技术的真正方向,因为做不到研发层面,靠之前老模式的运维方式比如每天敲些基本命令和配置搭建个服务器或者写几个自动化脚本是很难让一个公司的运维水平得到一个质提升的,另外从个人技术角度如果仅仅把这些当做自己的核心竞争力,那是不够的,掌握了这些只能恭喜你来到了运维行业,这里有大量的技术还在等待你学习攻克。
最后给大家看一个图,这个是最新的tiobe的编程排行,包括2016年和2017年的对比,python始终保持在前名,可见Python的流行程度,所以尽快加入学习吧,这篇就到这里,下篇我们开始将Python的基本语法和基本的数据类型。