[Python学习日记-2] Python的介绍与安装
Python的介绍和发展趋势
Python环境安装
开发你的第一个Python程序
Python的介绍和发展趋势
一、Python发展史
Python是一种高级编程语言,由Guido van Rossum(龟叔,荷兰人)于1989年圣诞节创造,至于为什么叫Python,据说是他喜欢的一个电视节目其中一个字母是Python所以就以此为命名。以下是Python发展的一些重要里程碑。
-
1991年,第一个Python编译器诞生,是Python的第一个公开版本,称为Python 0.9.0,它是用C语言实现的,并能够调用C语言的库文件。从一出生,Python已经具有了:类,函数,异常处理,包含表和词典在内的核心数据类型,以及模块为基础的拓展系统。
-
1994年,Python 1.0发布,引入了异常处理和模块化系统。
-
2000年,Python 2.0发布,添加了列表推导式和垃圾回收机制,构成了现在Python语言架构的基础。
-
2004年,Python 2.4发布,同年目前最流行的WEB框架Django诞生。
-
2005年,国内豆瓣创立,该网站就是使用Python进行开发,这时候开始推广到国内。
-
2006年,Python 2.5发布。
-
2008年,10月1日Python2.6发布;同年12月3日Python 3.0发布,引入了许多不兼容的变化,以改进语言的一致性和设计。
-
2009年,Python3.1发布。
-
2010年,Python2.7发布,至此Python 2.x和3.x并行发展,但在2010年之后,Python 3.x成为主要的发展方向。(为什么2008年推出了3.0,而2010年又推出了2.7呢?这是因为Python开发的时候并不是只有龟叔一个人开发的,而是由社区共同开发,这样一些原来用开其他语言的程序员就会带来一些不符合Python语法的写法,3.0版本就是龟叔为了结束这种现象而开发的版本,但是因为3.0不向下兼容2.0,致大家都拒绝升级3.0,无奈官方只能推出2.7过渡版本,不过2.7官方宣布只支持到2020年,将不会再有2.8,并要求使用2.0的项目尽快移植到3.0上)
-
2012年,Python3.3发布,同时云计算兴起,其中Openstack平台使用Python开发,是的Python流行了一波。
-
2014年,Python3.4发布,AI兴起,由于Python的易用性,大量的算法使用Python编写。
-
2015年,Python3.5发布。
-
2017年,Python 3.6发布,引入了异步编程支持和格式化字面量,开始走入大众视野。
-
2018年,Python 3.7发布,引入了许多新的语言特性和改进。
-
2019年,Python 2.x系列停止维护,推动用户迁移到Python 3.x。
-
目前,Python仍在不断发展,每年发布新的版本,以改进性能,添加新的特性和库。
Python的发展史显示了它逐渐成为一种流行的编程语言,它的简洁和易读的语法使得它成为初学者入门编程的首选语言之一。
但是目前还有很多旧的应用还是使用Python2,这样我们学习应该是学习Python3还是Python2呢?我们从发展历史来看,肯定是选择Python3,从官方的说法看,Python2已经成为了遗产。
二、主要应用领域
1、WEB开发——最火的Python web框架Django,支持异步高并发的Tornado框架,短小精悍的flask,bottle,Django官方的标语把Django定义为the framework for perfectionist with deadlines(大意是一个为完全主义者开发的高效率web框架)。
2、网络编程——支持高并发的Twisted网络框架,py3引入的asyncio使异步编程变的非常简单。
3、爬虫——爬虫领域,Python几乎是霸主地位,Scrapy\Request\BeautituSoap\urllib等,想爬啥就爬啥。
4、云计算——目前最火最知名的云计算框架就是OpenStack,Python现在的火,很大一部分就是因为云计算。
5、人工智能、数据分析——Python是目前公认的人工智能和数据分析领域的必备语言。
6、自动化运维——问问中国的每个运维人员,运维人员必须会的语言是什么?10个人相信会给你一个相同的答案,它的名字叫Python。
7、金融分析——好多分析程序、高频交易软件就是用的Python,到目前,Python是金融分析、量化交易领域里用的最多的语言。
8、科学运算——97年开始,NASA就在大量使用Python在进行各种复杂的科学运算,随着NumPy,ScIPy,Matplotllb,Enthought librarys等众多程序库的开发,使的Python越来越适合于做科学计算、绘制高质量的2D和3D图像,和科学计算领域最流行的商业软件Matlab相比,Python是一门通用的程序设计语言,比Matlab所采用的脚本语言的应用范围更广泛。
9、游戏开发——在网络游戏开发中Python也有很多应用。相比Lua or C++,Python比Lua有更高阶的抽象能力,可以用更少的代码描述游戏业务逻辑,与Lua 相比,Python 更适合作为一种Host语言,即程序的入口点是在Python 那一端会比较好,然后用C/C++在非常必要的时候写一些扩展。Python非常适合编写1万行以上的项目,而且能够很好地把网游项目的规模控制在10万行代码以内。另外知名的游戏《文明》就是用Python写的。
三、那些公司用Python
1、谷歌:Google App Engine、code.google.com 、Google earth 、谷歌爬虫、Google广告等项目都在大量使用Python开发,龟叔2005-2012年加入了谷歌,所以谷歌才会有那么大量的Python所写的项目。
2、CIA:美国中情局网站就是用Python开发的。
3、NASA:美国航天局(NASA)大量使用Python进行数据分析和运算。
4、YouTube:世界上最大的视频网站YouTube就是用Python开发的。
5、Dropbox:美国最大的在线云存储网站,全部用Python实现,每天网站处理10亿个文件的上传和下载,2013年龟叔加入了Dropbox,所以也把Python带到了该公司。
6、Instagram:美国最大的图片分享社交网站,每天超过3千万张照片被分享,全部用Python开发。
7、Facebook:大量的基础库均通过Python实现的。
8、Redhat:世界上最流行的Linux发行版本中的yum包管理工具就是用Python开发的。
9、豆瓣:公司几乎所有的业务均是通过Python开发的。
10、知乎:国内最大的问答社区,通过Python开发(国外Quora)。
11、春雨医生:国内知名的在线医疗网站是用Python开发的。
除上面之外,还有搜狐、金山、腾讯、盛大、网易、百度、阿里、淘宝、土豆、新浪、果壳等公司都在使用Python完成各种各样的任务。
四、Python的优缺点
1、优点
- Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易懂,初学者学Python,不但入门容易,而且将来深入下去,可以编写那些非常非常复杂的程序。
- 开发效率非常高,Python有非常强大的第三方库,基本上你想通过计算机实现任何功能,Python官方库里都有相应的模块进行支持,直接下载调用后,在基础库的基础上再进行开发,大大降低开发周期,避免重复造轮子。
- 高级语言——当你用Python语言编写程序的时候,你无需考虑诸如,如何管理你的程序使用的内存一类的底层细节。
- 可移植性——由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需修改就几乎可以在市场上所有的系统平台上运行。
- 可扩展性——如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。
- 可嵌入性——你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。
2、缺点
- 速度慢,Python 的运行速度相比C语言确实慢很多,跟JAVA相比也要慢一些,因此这也是很多所谓的大牛不屑于使用Python的主要原因,但其实这里所指的运行速度慢在大多数情况下用户是无法直接感知到的,必须借助测试工具才能体现出来,比如你用C运一个程序花了0.01s,用Python是0.1s,这样C语言直接比Python快了10倍,算是非常夸张了,但是你是无法直接通过肉眼感知的,因为一个正常人所能感知的时间最小单位是0.15-0.4s左右。其实在大多数情况下Python已经完全可以满足你对程序速度的要求,除非你要写对速度要求极高的搜索引擎等,这种情况下,当然还是建议你用C去实现的。
- 代码不能加密,因为Python是解释性语言,它的源码都是以名文形式存放的,不过我不认为这算是一个缺点,如果你的项目要求源代码必须是加密的,那你一开始就不应该用Python来去实现。
- 线程不能利用多核问题,这是Python被人诟病最多的一个缺点,GIL即全局解释器锁(Global Interpreter Lock),是计算机程序设计语言解释器用于同步线程的工具,使得任何时刻仅有一个线程在执行,Python的线程是操作系统的原生线程。在Linux上为pthread,在Windows上为Win thread,完全由操作系统调度线程的执行。一个Python解释器进程内有一条主线程,以及多条用户程序的执行线程。即使在多核CPU平台上,由于GIL的存在,所以禁止多线程的并行执行。不过这也是有折中的解决办法的。
Python的确有大大小小的缺点,但是也有比较突出的优点,这里只能说没有一门编程语言是完美无缺的,只能说每门编程语言都有自己擅长的领域。
Python环境安装
前面提到Python是一门解释型语言,所以我们所说的安装Python就是安装它的解释器。我们常用的系统有Windows、Mac、Linux、Unix,而在Mac、Linux、Unix上Python的解释器都是自带的,所以我们这里的安装主要就是Windows的安装。
1、访问Python官网,进入下载页面
2、选择需要下载的版本,这里我们以3.12.4为例
一开始看到的Download就是下载最新版本的
往下拉动可以看到有其他版本的
进入后可以看到很多说明文档和下载选项,我们选择Windows的版本下载(64位选择,Windows installer (64-bit))
3、 下载完成后双击打开
Add python.exe to PATH 为安装时是否添加环境变量(在cmd当中,任意目录都可以找到python.exe),若不勾选,后续也可以通过手工配置的形式进行设置
新手可以直接选择Install Now,会默认安装在C盘下,选择Customize installation则是自定义安装,选择这个就可以选择安装什么模块,安装在什么地方,这里我们选择Customize installation
4、选择需要安装的模块,这里直接Next就好了
5、 选择安装路径
6、开始安装
7、 安装完毕
8、环境变量设置(前面安装开始时勾选了Add python.exe to PATH的可以忽略这一步)
鼠标选中此电脑,然后右键选择属性
选择高级系统设置
高级-环境变量
上面的Path为用户环境变量针对单一用户的,下面是系统的环境变量针对所有用户,我们选择修改系统环境变量中的Path
加入安装时所选的路径中的根目录和Scripts即可,以安装在D:\Python312\为例
9、验证是否安装成功
打开cmd,输入python,看到相应的版本号即为安装成功
开发你的第一个Python程序
第一个Python程序我们使用非常原始的编写方式——用记事本写,创建新的txt文件,创建完毕后修改后缀,修改为.py,如下图所示
右键-打开方式-选择其他应用-选择记事本打开修改,输入一下代码,然后保存退出
在屏幕上打印Hello World!
print("Hello World!")
回到cmd,输入一下命令
> python D:\Python_program\first_py_program.py