Python是一种简单易学,功能强大,高级和面向对象的编程语言。它支持面向对象的编程方法来开发应用程序。它简单易学,并提供了大量高级数据结构,同时Python开发和调试非常快速。
现在,全世界差不多有600多种编程语言,但流行的编程语言也就那么20来种。如果你听说过TIOBE排行榜,你就能知道编程语言的大致流行程度。这是最近10年最常用的10种编程语言的变化图:
总的来说,这几种编程语言各有千秋。C语言是可以用来编写操作系统的贴近硬件的语言,所以,C语言适合开发那些追求运行速度、充分发挥硬件性能的程序。而Python是用来编写应用程序的高级编程语言。
一、Python的出生
我们想要快速学习python就需要知道点python的历史.python是哪年创建的 ?python可以做什么?
1989年,Python之父Guido van Rossum在阿姆斯特丹为了打发圣诞节的闲暇时间,开发了一门解释型编程语言。国内通常将Guido van Rossum简称为“龟叔”,“龟”的发音取自Guido中的“Gui”。下图大胡子的男人就是“龟叔”。
龟叔:2005年加入谷歌至2012年,2013年加入Dropbox直到现在,依然掌握着Python发展的核心方向,被称为仁慈的独裁者)。
龟叔(人生苦短,我用python)
二、Python的今世
据当前来看python在TIORB排行榜中,位居第三.Python崇尚优美、清晰、简单,是一个优秀并广泛使用的语言.Python整体呈上升趋势,反映出Python应用越来越广泛并且也逐渐得到业内的认可!
1990年Python公开版发布
2000年Python 2.0发布
2008年Python 3.0发布
2020年python 2.7停止维护
2021年Python 3.10版本(截止今天:2021年11月21日)
直至现在(2021 年 11 月份),根据 TIOBE 排行榜的显示,Python 也居于第 1 位(如表 2 所示)。
三、Python的主要应用领域
Python以其通用性质而闻名,几乎适用于软件开发的每个领域。Python作为一个整体可以用于任何开发领域。
1)Web应用程序
我们可以使用Python来开发Web应用程序。它提供了处理互联网协议的库,如HTML和XML,JSON,电子邮件处理,请求,beautifulSoup,Feedparser等。它还提供了诸如Django,Pyramid,Flask等框架来设计和删除基于Web的应用程序。一些重要的发展是:PythonWikiEngines,Pocoo,PythonBlogSoftware等。
2)桌面GUI应用程序
Python提供了Tk GUI库来开发基于python的应用程序中的用户界面。一些其他有用的工具包wxWidgets,Kivy,pyqt可在多个平台上使用。Kivy在编写多点触控应用程序时很受欢迎。
3)软件开发
Python有助于软件开发过程。它作为一种支持语言,可用于构建控制和管理,测试等。
4)科学和数字
Python很受欢迎,广泛用于科学和数字计算。一些有用的库和包是SciPy,Pandas,IPython等.SciPy是工程,科学和数学的一组包。
5)商业应用
Python用于构建ERP和电子商务系统等业务应用程序。Tryton是一个高级应用程序平台。
6)基于控制台的应用
我们可以使用Python开发基于控制台的应用程序。例如:IPython。
7)基于音频或视频的应用
程序 Python很棒,可以执行多个任务,可用于开发多媒体应用程序。一些真正的应用程序是:TimPlayer,cplay等。
8)3D CAD应用程序
要创建CAD应用程序,Fandango是一个真正的应用程序,它提供了CAD的全部功能。
9)企业应用程序
Python可用于创建可在企业或组织内使用的应用程序。一些实时应用程序是:OpenErp,Tryton,Picalo等。
10)图像应用
使用Python可以为图像开发几个应用程序。开发的应用程序有:VPython,Gogh,imgSeek等。
四、Python的优缺点
优点:
1、语法简单:和传统的 C/C++、Java、C# 等语言相比,Python 对代码格式的要求没有那么严格,这种宽松使得用户在编写代码时比较舒服,不用在细枝末节上花费太多精力。一旦简单了,一件事情就会变得很纯粹;我们在开发 Python 程序时,可以专注于解决问题本身,而不用顾虑语法的细枝末节。在简单的环境中做一件纯粹的事情,那简直是一种享受。
2、Python是开源的:开源,也即开放源代码,意思是所有用户都可以看到源代码。官方将 Python 解释器和模块的代码开源,是希望所有 Python 用户都参与进来,一起改进 Python 的性能,弥补 Python 的漏洞,代码被研究的越多就越健壮。
3、Python是免费的:开源并不等于免费,开源软件和免费软件是两个概念,只不过大多数的开源软件也是免费软件;Python 就是这样一种语言,它既开源又免费。
4、可移植:Python解释器已被移植在许多平台上,Python程序无须经过修改就可以在多个平台上运行。
5、代码规范:Python所采用的强制缩进的方式,使得代码具有极佳的可读性。
6、面向对象:与C++和Java等相比,Python以强大而简单的方式实现了面向对象编程。
7、丰富的库:Python的标准库种类繁多,可以帮助处理各种工作,我们不需要安装就可以直接使用这些库。
8、动态类型:Python不会检查数据类型,在声明变量时不需要指定数据类型。
缺点:
1、运行速度慢:运行速度慢是解释型语言的通病,Python 也不例外。Python 速度慢不仅仅是因为一边运行一边“翻译”源代码,还因为 Python 是高级语言,屏蔽了很多底层细节。这个代价也是很大的,Python 要额外多做许多工作,有些工作是很消耗资源的,比如管理内存等。
但是速度慢的缺点往往也不会带来什么大问题。首先是计算机的硬件速度运来越快,采用高性能的硬件,使硬件性能的提升可以弥补软件性能的不足。
2、代码加密困难:不像编译型语言的源代码会被编译成可执行程序,Python 是直接运行源代码,因此对源代码加密比较困难
五、Python在哪些公司被使用
谷歌:Google App Engine 、code.google.com 、Google earth 、谷歌爬虫、Google广告等项目都在大量使用Python开发
CIA: 美国中情局网站就是用Python开发的
NASA: 美国航天局(NASA)大量使用Python进行数据分析和运算
YouTube:世界上最大的视频网站YouTube就是用Python开发的
Dropbox:美国最大的在线云存储网站,全部用Python实现,每天网站处理10亿个文件的上传和下载
Instagram:美国最大的图片分享社交网站,每天超过3千万张照片被分享,全部用python开发
Facebook:大量的基础库均通过Python实现的
Redhat: 世界上最流行的Linux发行版本中的yum包管理工具就是用python开发的
豆瓣: 公司几乎所有的业务均是通过Python开发的
知乎: 国内最大的问答社区,通过Python开发(国外Quora)
春雨医生:国内知名的在线医疗网站是用Python开发的
除上面之外,还有搜狐、金山、腾讯、盛大、网易、百度、阿里、淘宝 、土豆、新浪、果壳等公司都在使用Python完成各种各样的任务。
六、Python是什么编程语言
编程语言主要从以下几个角度为进行分类,编译型和解释型、静态语言和动态语言、强类型定义语言和弱类型定义语言,每个分类代表什么意思呢,我们一起来看一下。
6.1 编译型与解释型
编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快;
而解释器则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度是不如编译后的程序运行的快的。这是因为计算机不能直接认识并执行我们写的语句,它只能认识机器语言(是二进制的形式)
6.2、动态语言和静态语言
通常我们所说的动态语言、静态语言是指动态类型语言和静态类型语言。
(1)动态类型语言:动态类型语言是指在运行期间才去做数据类型检查的语言,也就是说,在用动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。Python和Ruby就是一种典型的动态类型语言,其他的各种脚本语言如VBScript也多少属于动态类型语言。
(2)静态类型语言:静态类型语言与动态类型语言刚好相反,它的数据类型是在编译其间检查的,也就是说在写程序时要声明所有变量的数据类型,C/C++是静态类型语言的典型代表,其他的静态类型语言还有C#、JAVA等。
6.3、强类型定义语言和弱类型定义语言
(1)强类型定义语言:强制数据类型定义的语言。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。
举个例子:如果你定义了一个整型变量a,那么程序根本不可能将a当作字符串类型处理。强类型定义语言是类型安全的语言。
(2)弱类型定义语言:数据类型可以被忽略的语言。它与强类型定义语言相反,一个变量可以赋不同数据类型的值。强类型定义语言在速度上可能略逊色于弱类型定义语言,但是强类型定义语言带来的严谨性能够有效的避免许多错误。另外,“这门语言是不是动态语言”与“这门语言是否类型安全”之间是完全没有联系的!
例如:Python是动态语言,是强类型定义语言(类型安全的语言); VBScript是动态语言,是弱类型定义语言(类型不安全的语言); JAVA是静态语言,是强类型定义语言(类型安全的语言)。