创立原因:1989年的圣诞节真是太boring了,吉多·范罗苏姆(Guido van Rossum),一个荷兰计算机科学家,为了打发无聊,决定搞点事情。他准备开发一种新的脚本解释程序,这种语言既能够像shell语言那样可以轻松编程,又可以像C语言那样可以全面调用计算机的功能接口。在那个计算机还只有8MHz CPU主频,128KB RAM的年代,一个大的数组就能占满内存(这才是真的卡成狗吧),所以当时的语言的基本设计原则是让机器能更快运行。为了增进效率,程序员要像计算机一样思考,才能写出更符合机器口味的程序(机器喜欢吃的口味,当然就快了,这里可以说是“面向机器编程”了)。Guido觉得这太难受了,他想设计一种全新的语言。首先启发他的是shell语言,shell语言如胶水般可以将Unix许多功能连接在一起,许多上下几百行的C程序,shell语言只用几行就搞定了。然而,shell语言的本质是调用命令,它并不是一个真正的语言。比如,shell语言没有数值型的数据类型,加法运算都很复杂。总之,shell不能全面地调动计算机的功能。第二个启发他的是ABC语言。与当时的大部分语言不同,ABC语言的目标是“让用户感觉更好”。ABC语言希望让语言变得容易阅读,容易使用,容易记忆,容易学习,并以此来激发人们学习编程的兴趣(这应该就是Python良好的可读性的来源)。语言再好,但是当时电脑配置实在太低了,运行ABC语言解释器太费劲,而且存在诸多问题,最终ABC没有流行起来。ABC语言凉凉了,Guido多少有些惋惜,但是ABC语言给了他很多好的想法。于是,在1989年的圣诞节,时间充裕的他开始Python语言的解释器。
发展过程:由于Python语言的简洁性、易读性以及可扩展性,在国外用Python做科学计算的研究机构日益增多,一些知名大学已经采用Python来教授程序设计课程。众多开源的科学计算软件包都提供了Python的调用接口,例如著名的计算机视觉OpenCV、三维可视化库VTK、医学图像处理库ITK。Python专用的科学计算扩展库就更多了,例如如下3个十分经典的科学计算扩展库:NumPy、SciPy和matplotlib,它们分别为Python提供了数值计算、统计分析、以及绘图功能。Python经过20几年的发展,现在已经成为世界上最流行的语言之一。
名字由来:Python意思是大蟒蛇,是取自Guido所挚爱的电视剧 Monty Python's Flying Circus。
Python解释器的安装:Python有Python 2.x和Python 3.x两个版本,两个版本之间没有"向后兼容性",也就是说,会发生用Python 3.x写的代码不能被Python 2.x执行的情况。建议两个版本都安装一下。Ubuntu系统自带Python 2.x和Python 3.x,Windows下具体的安装方法可以参考下面这篇文章:
https://blog.csdn.net/qq_25814003/article/details/80609729
Python扩展库的安装:Python常用的第三方库有Numpy、Matplotlib。前者是数值计算库,提供了很多高级的数学算法和便利的数组(矩阵)操作方法,后者是用来画图的库,使用Matplotlib能将实验结果可视化,并在视觉上确认深度学习运行期间的数据。
我觉得比较好的安装方法有三种:
第一种:pip安装。这是最常用的一种方法。pip是一个安装、管理Python软件包的工具。具体操作是在终端输入 :
pip install numpy==1.16.3
pip install matplotlib==3.0.8
第二种:利用setuptools从源文件安装。先从下载地址安装setuptools工具包。很多第三方库都是开源的,几乎都可以在github 或者 pypi上找到源码。源码格式大都是 zip 、 tar.zip、 tar.bz2格式的压缩包。解压这些包,进入解压好的文件夹,通常会看见一个 setup.py 的文件。打开终端,进入setup.py文件所在的目录,执行
python setup.py install
第三种:利用Pycharm进行安装。Pycharm是非常流行的Python IDE。
1.打开Pycharm。
2.打开File菜单下的Settings选项。
3.选择Settings下Project:Python的Project Interpreter,并选择Python解释器的版本,然后点击右上角的绿色加号,搜索库的名字。
4.选择库的版本号,点击左下角的Install Package按钮,就会自动下载安装。
其实还有一种用Anaconda安装的方法,Anaconda是Python的一个开源发行版本,包括了python和很多常见的软件库, 和一个包管理器conda,不仅安装时能自动安装相应的依赖包,同时还能使用不同的虚拟环境隔离不同要求的项目。(好像比pip安装更方便)我没用过这种方式,有兴趣的童鞋可以试试。