[Others] 【专题-Python教程】1.4 Python 的特点(优点和缺点)
Tofloor
poster avatar
RacoonGX-Allen
deepin
2022-11-17 01:59
Author

先唠会嗑

你们说昨天那个抢劫的脑子好像有点问题啊,现在银行能有多少钱啊,还和人质同归于尽,最后不还是被毙了吗。

好了不唠了,开始我们今天的学习吧。

上一讲链接:https://bbs.deepin.org/zh/post/245977

知识库链接:https://www.yuque.com/allen-d/pycr

--------------------------------------------------------------------------------------------------------------------------

Python 是一种面向对象的、解释型的、通用的、开源的脚本编程语言,它之所以非常流行,很多人认为主要有三点原因:

Python 简单易用,学习成本低,看起来非常优雅干净;

Python 标准库和第三库众多,功能强大,既可以开发小工具,也可以开发企业级应用;

Python 站在了人工智能和大数据的风口上,站在风口上,猪都能飞起来。(只是夸张哈,不要当真

 

举个简单的例子来说明一下 Python 的简单。比如要实现某个功能,C 语言可能需要 100 行代码,而 Python 可能只需要几行代码,因为 C 语言什么都要得从头开始,而 Python 已经内置了很多常见功能,我们只需要导入包,然后调用一个函数即可。

 

简单就是 Python 的巨大魅力之一,是它的杀手锏,用惯了 Python 再用 C 语言简直不能忍受。

 

本文就来汇总一下 Python 的特性,综合对比一下它的优缺点。

Python 的优点

1) 语法简单

和传统的 C/C++、Java、C# 等语言相比,Python 对代码格式的要求没有那么严格,这种宽松使得用户在编写代码时比较舒服,不用在细枝末节上花费太多精力。我来举两个典型的例子:

Python不要求每个句子后面写分号(当然写上也没错)

定义变量时不需要指明类型,甚至可以给同一个变量赋值不同类型的数据。

 

这两点也是大部分解释型语言所具备的特点

 

Python 是一种代表极简主义的编程语言,阅读一段排版优美的 Python 代码,就像在阅读一个英文段落,非常贴近人类语言,所以人们常说,Python 是一种具有伪代码特质的编程语言。

 

伪代码(Pseudo Code)是一种算法描述语言,它介于自然语言和编程语言之间,使用伪代码的目的是为了使被描述的算法可以容易地以任何一种编程语言(Pascal,C,Java,etc)实现。因此,伪代码必须结构清晰、代码简单、可读性好,并且类似自然语言。

 

Python的杀手锏就是语法简单。为什么说简单就是杀手锏?一旦简单了,一件事情就会变得很纯粹;我们在开发 Python 程序时,可以专注于解决问题本身,而不用顾虑语法的细枝末节。在简单的环境中做一件纯粹的事情,那简直是一种享受。

2)Python是开源的

 

开源,也即开放源代码,意思是所有用户都可以看到源代码。

 

Python 的开源体现在两方面:

1.  程序员使用 Python 编写的代码是开源的。

比如我们开发了一个 BBS 系统,放在互联网上让用户下载,那么用户下载到的就是该系统的所有源代码,并且可以随意修改。这也是解释型语言本身的特性,想要运行程序就必须有源代码。

2.  Python 解释器和模块是开源的。

 

官方将 Python 解释器和模块的代码开源,是希望所有 Python 用户都参与进来,一起改进 Python 的性能,弥补 Python 的漏洞,代码被研究的越多就越健壮。

 

这个世界上总有那么一小撮人,他们或者不慕名利,或者为了达到某种目的,会不断地加强和改善 Python。千万不要认为所有人都是只图眼前利益的,总有一些精英会放长线钓大鱼,总有一些极客会做一些炫酷的事情。

3)Python是免费的

 

开源并不等于免费,开源软件和免费软件是两个概念,只不过大多数的开源软件也是免费软件;Python 就是这样一种语言,它既开源又免费。

         如想知道他们的区别,请查看本教程附加文档:开源就等于免费吗?用事实来说话

 

用户使用 Python 进行开发或者发布自己的程序,不需要支付任何费用,也不用担心版权问题,即使作为商业用途,Python 也是免费的。

 

4)Python是高级语言

 

这里所说的高级,是指 Python 封装较深,屏蔽了很多底层细节,比如 Python 会自动管理内存(需要时自动分配,不需要时自动释放)。

高级语言的优点是使用方便,不用顾虑细枝末节;缺点是容易让人浅尝辄止,知其然不知其所以然。

 

5)Python 是解释型语言,能跨平台

解释型语言一般都是跨平台的(可移植性好),Python 也不例外,我们已经在《编译型语言和解释型语言的区别》中进行了讲解,这里不再赘述。

6)Python 是面向对象的编程语言

面向对象是现代编程语言一般都具备的特性,否则在开发中大型程序时会捉襟见肘。

 

Python 支持面向对象,但它不强制使用面向对象。Java 是典型的面向对象的编程语言,但是它强制必须以类和对象的形式来组织代码。

6) Python 功能强大(模块众多)

Python 的模块众多,基本实现了所有的常见的功能,从简单的字符串处理,到复杂的 3D 图形绘制,借助Python 模块都可以轻松完成。

 

Python 社区发展良好,除了 Python 官方提供的核心模块,很多第三方机构也会参与进来开发模块,这其中就有 Google、Facebook、Microsoft 等软件巨头。即使是一些小众的功能,Python 往往也有对应的开源模块,甚至有可能不止一个模块。

7) Python 可扩展性强

Python 的可扩展性体现在它的模块,Python 具有脚本语言中最丰富和强大的类库,这些类库覆盖了文件 I/O、GUI、网络编程、数据库访问、文本操作等绝大部分应用场景。

 

这些类库的底层代码不一定都是 Python,还有很多 C/C++ 的身影。当需要一段关键代码运行速度更快时,就可以使用 C/C++ 语言实现,然后在 Python 中调用它们。Python 能把其它语言“粘”在一起,所以被称为“胶水语言”。

 

Python 依靠其良好的扩展性,在一定程度上弥补了运行效率慢的缺点。

Python 的缺点

除了上面提到的各种优点,Python 也是有缺点的。(但是优点比缺点多就很好了

1)运行速度慢

运行速度慢是解释型语言的通病,Python 也不例外。

 

Python 速度慢不仅仅是因为一边运行一边“翻译”源代码,还因为 Python 是高级语言,屏蔽了很多底层细节。这个代价也是很大的,Python 要多做很多工作,有些工作是很消耗资源的,比如管理内存。

 

Python 的运行速度几乎是最慢的,不但远远慢于 C/C++,还慢于 Java。

 

但是速度慢的缺点往往也不会带来什么大问题。首先是计算机的硬件速度运来越快,多花钱就可以堆出高性能的硬件,硬件性能的提升可以弥补软件性能的不足。

 

其次是有些应用场景可以容忍速度慢,比如网站,用户打开一个网页的大部分时间是在等待网络请求,而不是等待服务器执行网页程序。服务器花 1ms 执行程序,和花 20ms 执行程序,对用户来说是毫无感觉的,因为网络连接时间往往需要 500ms 甚至 2000ms。

 

2)代码加密困难

 

不像编译型语言的源代码会被编译成可执行程序,Python 是直接运行源代码,因此对源代码加密比较困难。但是,开源软件才是现在的趋势,传统程序员要改变观念。

--------------------------------------------------------------------------------------------------------------------------

好了,今天的学习又结束了,我们明天再见

(今天作业有点多,所以发贴的时间就比较晚)

 

 

Reply Favorite View the author
All Replies
xuqi
deepin testing team
2022-11-17 02:21
#1
  • 更新的快啊~😂 👍
Reply View the author
Lwh2008-Equinox
deepin
2022-11-17 02:21
#2

关于开源不一定就免费的文档我这里流量速度慢没打开但是我知道一个生动形象的例子:rhel。

Reply View the author
s***2@gmail.com
deepin
2023-06-06 03:11
#3

Thank you for posting that it could be just the thing to give inspiration to someone who needs it! Keep up the great work! Pomegranate

Reply View the author