《Python硬件编程实战》——1.3 Python的特点

1.3 Python的特点

1.3.1 作为脚本语言的优缺点
上面已经介绍过,Python是一门脚本语言,也是一门解释型语言。下面就来简单解释一下作为解释型语言的Python有哪些特点。
1.作为脚本语言的Python的优点
快速开发:不需要编译即可运行
正如前面的解释,写完Python脚本后直接就可以运行而省去编译的步骤,使用起来相对省事和高效。
2.作为脚本语言的Python的缺点
性能相对不是特别强
Python的性能相对一些其他语言(比如C、C++等)来说不是特别强。对于性能要求比较苛刻的某些领域不太适合全部使用Python去实现所有的功能。现在已有的解决方法是:使用相对Python性能更好的其他语言去实现与性能相关的最核心部分的功能,然后再将此部分整合到Python内,这样即可高效地实现程序的功能,又可以很大程度上提高开发的效率。
为何不说是Python性能比较弱
此处之所以说是Python的性能不是特别强,那是相对于更加底层的语言(比如C、C++等)来说的,并不是说Python的性能本身很差。相对而言,C、C++等语言由于是编译型语言并且更加面向底层,所以在性能方面与Python等脚本语言相比,的确会更好一些。但是在现实中实现功能时,很多情况下并不那么关注代码本身的性能高低,而是更加关注完成任务的总体效率。
下面通过一个例子来解释上面这句话的含义。
假如想要写一段代码用于实现一个功能,而下面是所需要花费的时间。
(1)写代码实现功能所花费的时间
写C或C++代码用了2天时间实现了功能。
用Python写代码实现同样的功能只需半天时间。
(2)代码运行所花费的时间
C或C++的性能比Python好20%,运行程序实现功能花费了10秒。
Python代码效率稍差,比C或C++差20%,但运行程序实现功能也只是花费了12秒左右。
(3)完成总体任务所花费的时间
总体上来说使用C或C++完成总体任务花费2天多时间。
总体上来说使用Python完成总体任务只花费半天左右时间。
如果要实现同样的功能,很多用户其实更加关注整体效率。因此,在使用Python可以保持总体效率不太差但可以用更少的时间的前提下,用户肯定会选择Python。此时用户总体感觉就是:还是Python更好用。
除了上述的例子,现实中还有很多类似的情况:80%的用户只是为了实现某些功能,对于相对较小的性能差异并不是很关心,此时我们更倾向于采用Python实现程序的主体功能;而余下的对性能要求比较高的20%的情况则往往是采用C或C++等性能更好的语言去实现。
此外,Python语言本身支持将其他语言(包括C、C++等)通过相关的框架和手段集成到Python中,所以在这种情况下也是可以用Python作为主要语言去实现所需的总体功
能的。
总结:
Python的性能只是相对弱一些但不差,而且多数情况下都能够满足需求,即多数情况下都可以选择用Python去实现自己需要的功能。
当Python性能不能满足要求时,也可以通过采用其他性能更好的如C、C++等语言去实现性能相关部分的功能,然后再集成到Python代码中,这样保持了Python仍然是实现功能的主要语言。
1.3.2 Python自身的特点
除了作为解释型语言的Python自带的优缺点之外,Python语言本身也有其自己的特点。此处讨论Python特点时,也是和评价其他事物一样去和其同类语言对比。
Python相对其他语言一个最大的特点是:代码缩进决定了代码的逻辑关系,而不仅仅是为了代码的美观性。

下面介绍更多的其他特点:

  1. 很多语言内置特性使得Python语言本身很方便编程者使用Python中的字符串可以直接通过数组下标去获得对应子字符串。这类特性是其他很多语言本身所不具有的。Python的此类特点在第4章中会有更加详细的解释。
  2. .一种被广泛采用的胶水语言

Python相对其他语言有很强的粘合能力,其主要指的是Python本身支持很多框架和接口,它允许在Python和其他很多语言之间相互调用。如为了提高性能等,把与性能相关的部分用性能相对更好的其他语言实现,然后再整合到Python中,起到了作为不同语言的“粘合剂”的作用,以此达到提高Python程序整体性能的目的。
3.功能丰富的自带库以及种类和数量繁多且强大的第三方库
除了Python语言本身自带的标准库功能就很丰富、很强大之外,目前还有数量巨大的、各种领域的、功能强大的第三方库函数。
因为Python语言易于使用,所以有越来越多的用户愿意使用和发展Python,很多人把在Python开发期间积累的库函数贡献了出来,如此积累至今,就形成了数量众多且功能强大的第三方库函数。
如上特点对于Python语言的使用者来说有着显而易见的好处:当实现很多功能时,往往不需要重复“造轮子”,而可以找到现成的内置Python库或第三方的Python库去帮助我们实现想要的功能,从而节省我们大量的精力。换句话说,在实现一个复杂的功能时,往往变成了找到合适的库并使用即可,而无需从头到尾去实现一个很复杂的功能,从而节省了很多宝贵的时间和精力。而与之对应的是,当我们用其他语言实现同样的功能时,由于缺少好用的库而需要我们从无到有全新地去实现对应功能所需的代码。由此即可对比出Python更加好用与强大。
例1.1 Python库种类繁多和功能强大的好处
此处用制造汽车来类比解释Python的好处。
假如你需要制造一台汽车,如果使用Python去实现的话,你会发现,制造汽车所需要的核心部件,比如发动机、底盘、车架等,都已经有了,即可以直接从Python内置的相关功能和第三方库中找到实现对应功能的模块。并且实现同一种功能,比如发动机,还有多个模块可供选择,而你要做的只是稍微了解每个模块各自的优缺点,然后组合和校准之后很快就可以弄出一台汽车了。
与此对应的是,如果用其他语言去实现同样的功能,则很可能遇到的情况是:如发动机等核心部件没有现成的可用的模块,你要自己手动去打造,需要自己去实现对应的代码,或者即使有现成的但功能也不够强大,又或者选择余地不够多而没有找到让你满意的,最终还是需要你额外花很多精力去实现。而除了需要自己搞定发动机等核心功能外,还有很多其他功能也需要自己去实现。
这样,用其他语言从无到有去制造一台汽车的话,可能少则几周多则几个月。而用Python这种好用的语言的话,很可能是几天或者一两周就可以搞定了。
这就是我们所说的Python语言功能强大的自带库以及种类和数量繁多的第三方库,综合而言就是Python很强大很好用!
4.适合原型开发
原型开发指的是当有了一个概念或算法之类的东西,为了验证它的正确性或可行性而去找合适的语言快速实现出来。由于Python是脚本语言,且其本身功能丰富,所以特别适用于原型开发。
5.跨平台和可移植性很好
需要首先强调的是,所谓的可移植性其实也是相对的概念,比如Java也是个可移植性很好的语言。
简单地说,可移植性就是对于同样的代码可以不经过改动直接拿到其他平台使用,并可以实现同样的功能。与此相对的其他很多语言,比如C等,更换平台后则很可能还需要改动部分代码之后程序才可以正常运行,才可以实现同样的功能。有些语言更换平台后甚至都无法直接运行。比如C#的代码只能在Windows平台上运行,换个其他系统,比如 Linux,基本上就没法运行没法使用了。
而Python的可移植性是因为不同平台中安装了Python环境,有对应的Python解释器,对于Python代码来说又无需编译,只要是个普通的文本文件就可以直接运行了。其内部实现过程是,Python解析器会把代码解析成可以在当前平台下运行的代码并运行。
正是由于Python语言具有如此多的优点,所以才有越来越多的人去认识和学习Python,实现Python更广泛的应用。

时间: 2025-01-30 04:00:27

《Python硬件编程实战》——1.3 Python的特点的相关文章

《Python硬件编程实战》——1.4 Python的应用

1.4 Python的应用 了解了Python是什么以及它的众多特点后,读者很自然地就会想到一个问题:Python能干什么? 而此处普通的这一问句"Python能干什么"的背后其实有着更深层的含义.严格地说至少包含如下三层含义. 1. Python能干什么 从语言本身的层面来说,Python这门编程语言可以实现哪些功能以及不能实现哪些 功能. 2. Python更适合做些什么 作为其中一种编程语言,Python语言根据其语言的特点和优势更适合做哪些事情. 3.你能用Python干什么

《Python硬件编程实战》——1.2 对Python的四种定义

1.2 对Python的四种定义 对于某种计算机语言,根据其特点和语言本身侧重点的不同会有不同的分类和叫法.Python作为计算机语言的其中一种也不例外.接下来就来详细解释Python的各种不同的分类和叫法的详细含义.1.2.1 一种脚本语言 脚本的英文是script.一般的读者看到script这个单词往往首先想到的是电影的剧本,我们大多数人都知道电影剧本其实就是由一段段的脚本所组成的,即电影剧本的脚本决定了电影中的人和物要做哪些事情以及具体怎么做. 与之类似,计算机中的脚本决定了计算机中的操作

《Python硬件编程实战》——2.3 如何选择合适的版本

2.3 如何选择合适的版本 选择合适的Python版本主要包含如下两方面含义: 选择Python 2还是Python 3 选择32位(x86)还是64位(x64) 下面来详细介绍它们的具体含义.2.3.1 选择Python 2还是Python 3 通过前面的介绍,读者已经清楚Python 2和Python 3的区别了.但是作为普通Python使用者来说,到底是选择Python 2还是Python 3呢?在给出笔者的建议之前,此处先总结一下它们各自的优缺点,如表2-1所示. 从表2-1的对比和结论

《Python硬件编程实战》——导读

前言 笔者是一名有6年嵌入式软件研发经验的工程师,由于工作需要和自己的兴趣,在最近3年的时间开始接触上层软件方面的技术,其中就包括学习和使用Python.越深入地学习,越让笔者觉得Python好用,于是陆续在博客上更新了很多Python的教程和资料,这本书的大多数素材均来自笔者的博客. Python语言从出现到如今已经有很长时间了.市面上关于Python的入门读物更是数不胜数,所以想再写一本入门的好书需要极大的勇气和决心.真正触动笔者下决心写这本书的原因是笔者发现对于很多国内读者,尤其是很多计算

《Python硬件编程实战》——2.2 Python的两大版本

2.2 Python的两大版本 目前Python主要有两个大的版本: Python 2 Python 3 Python两大版本的不同写法 关于两种版本的对比,也常写成为 Python 2.x VS Python 3.x Python 2 VS Python 3 py2 VS py3 读者以后看到类似写法,明白其指的是Python 2和Python 3就可以了.2.2.1 Python版本历史 为了更深入地理解Python 2和Python 3的区别,此处先简要介绍Python版本的发展历史. P

《Python硬件编程实战》——1.5 Python的必备常识

1.5 Python的必备常识 有一些和Python相关的常识性的知识,即使是Python初学者也需要先了解清楚.下面就来介绍这些内容.1.5.1 Python文件的后缀 在计算机的世界里,多数文件的类型都是通过文件的后缀来区分的.Python文件的后缀是.py.换句话说,我们见到的Python代码文件的文件名就是类似于xxx.py的.1.5.2 Python的缩写和简称 正是由于Python文件的后缀是.py,所以很多人也常用py来指代Python.比如后文中将会看到的,有些人把Python

《Python硬件编程实战》——第2章 下载并安装Python 2.1 因Python版本不合适而导致的常见问题

第2章 下载并安装Python 2.1 因Python版本不合适而导致的常见问题 对于下载Python这件事,如果Python没有多种版本,那么只需简单下载一个Python即可.但是实际上由于Python不仅仅有多个不同的版本,而且不同系统环境需要用不同版本的Python,这使得在实际中很多人对"下载一个合适版本的Python"感到无从下手.因此此处需要详细解释一下关于Python版本选择方面的背景知识,并给出对于初学者选择版本的建议,否则很可能会因为最初Python版本选择的不合适而

《Python硬件编程实战》——2.5 下载合适的Python安装包

2.5 下载合适的Python安装包 在了解了上述软件发布的背景知识后,再来看看Python提供了哪些供读者下载的形式.2.5.1 Python提供了哪些形式 搞懂了上述软件发布的各种格式及含义,此处再来看看Python提供了哪些形式,以及我们需要选择哪种形式下载. 在Python官网中我们可以看到Python提供了很多不同的形式,同时来分析一下我们需要哪种形式. 1.源码形式 作为目前只关注Python软件使用的Python初学者,此处我们暂不关心Python的源代码.不过其中一点需要提示的是

《Python硬件编程实战》——2.4 常见软件的发布格式

2.4 常见软件的发布格式 至此,我们清楚了Python的版本选择:建议初学者选择32位的Python 2且是32位的Python.接下来,很自然所能想到的就是去合适的地方找到所需的版本再去下载即可. 不过在下载之前还要搞清楚一些关于软件发布格式方面的基本概念:在计算机领域内的软件方面,尤其是软件中的开源软件,在一款新的软件发布时往往有多种形式发布出来供用户下载.并且对于这些不同形式的可下载的东西,往往又提供了多种不同的下载源.只有对于这方面的内容有所了解,才能更好地在后续下载Python时明确