Python——特点(优点&缺点)
Python 是一种面向对象的、解释型的、通用的、开源的脚本编程语言,它之所以非常流行,我认为主要以下几点原因:
Python 的优点
1. 语法简单
- 和传统的 C/C++、Java、C# 等语言相比,Python对代码格式的要求没有那么严格,这种宽松使得用户在编写代码时比较舒服,不用在细枝末节上花费太多精力。-Python 不要求在每个语句的最后写分号,当然写上也没错;
-定义变量时不需要指明类型,甚至可以给同一个变量赋值不同类型的数据。
这两点也是 PHP、JavaScript、MATLAB 等常见脚本语言都具备的特性。
2. Python 是开源的
- 开源,也即开放源代码,意思是所有用户都可以看到源代码。
- Python 的开源体现在两方面:
① 程序员使用 Python 编写的代码是开源的。
② Python 解释器和模块是开源的。
官方将 Python 解释器和模块的代码开源,是希望所有 Python 用户都参与进来,一起改进 Python 的性能,弥补 Python 的漏洞,代码被研究的越多就越健壮。
3. Python 是免费的
- 开源并不等于免费,开源软件和免费软件是两个概念,只不过大多数的开源软件也是免费软件;Python 就是这样一种语言,它既开源又免费。
- 用户使用 Python 进行开发或者发布自己的程序,不需要支付任何费用,也不用担心版权问题,即使作为商业用途,Python 也是免费的。
4. Python 是高级语言
- 这里所说的高级,是指 Python 封装较深,屏蔽了很多底层细节,比如 Python 会自动管理内存(需要时自动分配,不需要时自动释放)。
- 高级语言的优点是使用方便,不用顾虑细枝末节;缺点是容易让人浅尝辄止,知其然不知其所以然。
5. Python 是解释型语言,能跨平台
- Python 是面向对象的编程语言
- 面向对象是现代编程语言一般都具备的特性,否则在开发中大型程序时会捉襟见肘。
- Python 支持面向对象,但它不强制使用面向对象。Java 是典型的面向对象的编程语言,但是它强制必须以类和对象的形式来组织代码。
6. Python 功能强大(模块众多)
- Python 的模块众多,基本实现了所有的常见的功能,从简单的字符串处理,到复杂的 3D 图形绘制,借助 Python 模块都可以轻松完成。
- Python 社区发展良好,除了 Python 官方提供的核心模块,很多第三方机构也会参与进来开发模块,这其中就有 Google、Facebook、等软件巨头。即使是一些小众的功能,Python 往往也有对应的开源模块,甚至有可能不止一个模块。
7. Python 可扩展性强
- Python 依靠其良好的扩展性,在一定程度上弥补了运行效率慢的缺点。
Python 的缺点
- 除了上面提到的各种优点,Python 也是有缺点的。
1. 运行速度慢
- 运行速度慢是解释型语言的通病,Python 也不例外。
- Python 速度慢不仅仅是因为一边运行一边“翻译”源代码,还因为 Python
是高级语言,屏蔽了很多底层细节。这个代价也是很大的,Python 要多做很多工作,有些工作是很消耗资源的,比如管理内存。 - Python 的运行速度几乎是最慢的,不但远远慢于 C/C++,还慢于 Java。
- 但是速度慢的缺点往往也不会带来什么大问题。首先是计算机的硬件速度运来越快,多花钱就可以堆出高性能的硬件,硬件性能的提升可以弥补软件性能的不足。
2. 代码加密困难
- 不像编译型语言的源代码会被编译成可执行程序,Python 是直接运行源代码,因此对源代码加密比较困难。