Python是一种跨平台的计算机编程语言,具有着解释性、变异性、交互性和面向对象的特点。主要被应用于独立、大型项目开发。python是一种高级编程语言,可以应用于爬虫、大数据、人工智能等方面。
python的优势
1.有丰富和强大的库
python是一种相对来说比较简单、清晰的一种编程语言,可以轻松的将其他编程语言,例如C/C++的各种模块和链接联系在一起。
2.易于学习和使用
另一个优势是python语言适合工作和家庭的使用,学习起来比较简单,并且简化了很多不必要的符号,这样会更便于编程人员理解,即使是小白也能轻松上手。
python的用途
1.可用于开发控制台的应用程序。像Ipython。Ipython是交互式计算系统,包含增加的交互式python shell、双过程通信模型、交互式并行计算机架构,并且支持变量自动不全。
2.可用于web应用程序,例如django框架,像国内的豆瓣、知乎便是。
3.可用于处理数据,像大数据处理、处理可视化数据。
4.可用于黑客小工具,例如断网攻击。
5.可用于多媒体开发,例如TimPlayer,cplay。
6.可用于系统编程,像windows和linux系统管理,提高效能。
Python由荷兰数学和计算机科学研究学会的Guido van Rossum于1990年代初设计,作为一门叫做ABC语言的替代品。Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。
Python的优点
1) 语法简单
和传统的 C/C++、Java、C# 等语言相比,Python 对代码格式的要求没有那么严格,这种宽松使得用户在编写代码时比较舒服,不用在细枝末节上花费太多精力。我来举两个典型的例子:
- Python 不要求在每个语句的最后写上分号,当然写也没错;
- 定义变量时不需要指明类型,甚至可以给同一个变量赋值不同类型的数据。
Python 是一种代表极简主义的编程语言,阅读一段排版优美的 Python 代码,就像在阅读一个英文段落,非常贴近人类语言,所以人们常说,Python 是一种具有伪代码特点的编程语言。
伪代码(Pseudo Code)是一种算法描述语言,它介于自然语言和编程语言之间。编写伪代码的目的是为了使被描述的算法可以更容易地以任何一种编程语言实现,比如 C、C++、Java 等。因此,伪代码必须结构清晰、代码简单、可读性好,并且类似于自然语言。如果你学过数据结构,阅读过严蔚敏的书籍,那你一定知道什么是伪代码。
为什么说简单就是杀手锏?一旦简单了,一件事情就会变得很纯粹;我们在开发 Python 程序时,可以专注于解决问题本身,而不用顾虑语法的细枝末节。在简单的环境中做一件纯粹的事情,那简直是一种享受。
2) Python 是开源的
开源,也即开放源代码,意思是所有用户都可以看到源代码。
Python 的开源体现在两方面:
① 程序员使用 Python 编写的代码是开源的。
比如我们开发了一个 BBS 系统(即网络论坛),放在互联网上让用户下载,那么用户下载到的就是该系统的所有源代码,并且可以随意修改。这也是解释型语言本身的特性,想要运行程序就必须有源代码。
② Python 解释器和模块是开源的。
官方将 Python 解释器和模块的代码开源,是希望所有 Python 用户都参与进来,一起改进 Python 的性能,弥补 Python 的漏洞,代码被研究的越多也就越健壮。
这个世界上总有那么一小撮人,他们或者不慕名利,或者为了达到某种目的,会不断地加强和改善 Python。千万不要认为所有人都是只图眼前利益的,总有一些精英会放长线钓大鱼,总有一些极客会做一些炫酷的事情。
3) Python 是免费的
开源并不等于免费,开源软件和免费软件是两个概念,只不过大多数的开源软件也是免费软件;Python 就是这样一种语言,它既开源又免费。
用户使用 Python 进行开发或者发布自己的程序,不需要支付任何费用,也不用担心版权问题,即使作为商业用途,Python 也是免费的。
4) Python 是高级语言
这里所说的高级,是指 Python 封装较深,屏蔽了很多底层细节,比如 Python 会自动管理内存(需要时自动分配,不需要时自动释放)。
高级语言的优点是使用方便,不用顾虑细枝末节;缺点是容易让人浅尝辄止,知其然不知其所以然。
5) Python 是解释型语言,能跨平台
解释型语言一般都是跨平台的(可移植性好),Python 也不例外,我们已经在《编译型语言和解释型语言的区别》中进行了讲解,这里不再赘述。
5) Python 是面向对象的编程语言
面向对象(Object Oriented)是大多数“现代”语言(即第三代编程语言)都具备的特性,否则在开发中大型程序时会捉襟见肘。
Python 虽然支持面向对象,但它并不强制你使用这种特性。Java 是典型的面向对象的编程语言,它强制必须以类和对象的形式来组织代码。除 Python 和 Java 外,C++、C#、PHP、RuBy、Perl 等,也都支持面向对象的特性。
除了面向对象的编程语言外,还有一种面向过程的编程语言,其中最典型的代表就是 C 语言。
6) Python 功能强大(模块众多)
Python 的模块众多,基本实现了所有的常见的功能,从简单的字符串处理,到复杂的 3D 图形绘制,借助 Python 模块都可以轻松完成。
Python 社区发展良好,除了 Python 官方提供的核心模块,很多第三方机构也会参与到模块的开发中,这其中就有 Google(谷歌)、Facebook(脸书)、Microsoft(微软) 等软件巨头。
在 Python 中,即使是一些小众的功能,它往往也有对应的开源模块,甚至有可能不止一个。
7) Python 可扩展性强
Python 的可扩展性体现在它的模块,Python 具有脚本语言中最丰富、强大的库或模块,这些库或模块覆盖了文件操作、图形界面编程、网络编程、数据库访问等绝大部分应用场景。
值得注意的是,这些类库的底层代码不一定都是 Python,还有很多 C/C++ 的身影。
比如当需要一段关键代码运行速度更快时,就可以使用 C/C++ 语言实现,然后在 Python 中调用它们。Python 能把其它语言“粘”在一起,所以被称为“胶水语言”。
Python 依靠其良好的扩展性,在一定程度上弥补了运行效率慢的缺点。