Python 简介

整理自《Python硬件编程实战》

1.关于python的四种定义

  1.1一种脚本语言

    用户要想实现一个功能,在构思了如何做之后,就可以直接找个文本编辑器写上对应的脚本,也就是普通的文本,接着让计算机去运行,从而实现想要的功能。计算机中的脚本所运行的环境有对应的脚本解析器,可以解释并执行对应的脚本。

    例如,若创建Linux中的shell脚本,可以先创建一个普通文本文件,然后在其中添加shell脚本代码,保存文件,接着就可以在Linux的带有shell解释功能的环境中运行了。

    编译型语言和脚本型语言的对比:

    (1)编译型语言

    编译型语言是需要用该语言的编译器将源代码编译为可执行程序,然后才能运行可执行程序的语言。此编译过程需要先将源代码编译为目标文件,然后把目标文件加上必要的库文件,最后再链接为最终的可执行文件。

    以在安装了Visual Studio 2010的Windows 7中编译运行C语言为例,其过程为                hello.c-->(用编译器cl编译为)hello.exe-->运行hello.exe

    其中,hello.c是先被编译器cl编译为目标文件hello.obj,然后再调用link将目标文件hello.obj链接为可执行文件hello.exe的。

    (2)脚本语言

    脚本语言是无需用编译器编译源代码,可直接运行该源码形式脚本文件的语言。而直接能够运行脚本文件的背后,是当前环境中存在着此脚本的解析器。解析器负责读入此脚本源码,以及后续解析并执行的动作。

  1.2一种解释型语言

    脚本语言的特点是在具有解释器的环境中,以源代码的形式而无需编译就可以直接执行。脚本语言的内部执行过程是首先由解析器一行一行地读取脚本的源代码,同时解析每一行,然后给出执行后的结果。通俗地说就是:读一行,解释一行,执行一行。由此,脚本语言就天然地具有了解释性的特点,所以脚本语言也常被称为解释型语言。

  1.3一种高级语言

    早期的计算机语言大多数都是针对硬件上的机器本身所开发的语言,一般叫作汇编语言。汇编语言之所以常被称为低级语言,是因为其语言本身直接和硬件打交道,而缺少对计算机细节的抽象,相对而言不是那么易于程序员理解和使用。随着计算机语言的发展,出现了对计算机细节更宏观抽象的语言,这类语言更多地采用人类更容易理解的元素和概念,因此对于程序员来说,相对更容易理解、学习、掌握和使用这类语言,而这类语言被称为高级语言。常见的一些高级语言有Fortran、Pascal、Lisp、C、C++、Java、C#、Python、Ruby等。

  1.4一种面向对象语言

    首先要明确的是,面向对象的计算机语言这个概念是针对高级语言来说的。其次,在一堆高级语言里面,有些是在设计该语言本身时,对于语言本身的基本元素是以对象的方式设计的,而不同的对象之间的交互则成为整个程序运行的主要表现形式。

    此处的对象往往和现实中的物体、概念、逻辑的整体等内容是一一对应的关系。由于程序员用基于对象的编程语言设计程序时往往更加直观和易于理解,更加容易简化问题的处理逻辑,所以相对而言,面向对象的语言简化了使用该语言解决实际问题的复杂度,提高了处理事情的效率,所以程序员更容易理解、学习、掌握和使用。

    而Python语言本身的设计也是基于对象的,也是面向对象的各种概念和逻辑的,所以说Python也是一种面向对象的编程语言。

2.Python的特点

  • 快速开发:不需要编译即可运行,使用起来省事且高效。
  • 性能相对不是特别强:可以使用性能更好的语言去实现与性能相关的最核心部分的功能,然后再将此部分整合到Python内,这样即可高效地实现程序的功能,又可以很大程度上提高开发效率。

  为何不说是Python性能比较弱:

  相对而言,C、C++等语言有余是编译型语言并且更加面向底层,所以在性能方面与Python等脚本语言相比,的确会更好一些。但是在现实中实现功能时,很多情况下并不那么关注代码本身的性能高低,而是更加关注完成任务的总体效率。此外,Python语言本身支持将其他语言(包括C、C++等)通过相关的框架和手段集成到Python中,所以在这种情况下也是可以用Python作为主要语言去实现所需的总体功能的。

Python自身的特点:

相对其他语言一个最大的特点:代码缩进决定了代码的逻辑关系,而不仅仅是为了好看

其他更多的特点,可以总结如下:

  • 有很多特性,使得语言本身很方便编程者使用

    比如对于字符串可以直接通过数组下表去获得对应子字符串。这类特性,是很多其他语言,本身所不具有的。

  • Python是一种被广泛采用的胶水语言

    相对其他语言有很强的粘合能力,主要是指Python本身支持很多框架和接口,它允许在Python和其他很多语言之间相互调用。如为了提高性能时,把与性能相关的部分用性能相对更好的其他语言实现,然后再整合到Python中,起到了作为不同语言“粘合剂”的作用,以此达到提高Python程序整体性能的目的。

  • 功能丰富的自带的库以及种类和数量繁多且强大的第三方库

    除了本身Python语言本身自带的标准库之外,Python拥有数量巨大的,各种各样的,功能强大的,第三方的库函数(许多人在开发期间积累了很多库函数,贡献出来,积累至今)。

    此特点,对于Python语言的使用者来说,有着显而易见的好处:当你去实现很多各种功能的时候,往往不需要重复造轮子,往往是可以找到现成的内置Python库,或第三方的Python库,去帮你实现你要的功能。

    换句话说:你去实现一个复杂的功能的时候,往往变成了,找到合适的库,并使用,即可。

    与此相对的,用其他语言去实现同样的功能的时候,由于缺少好用的库,而使得你需要重头到尾,全新的实现对应的功能所需的代码。由此对比出,Python的好用和强大。

  • 适合原型开发

    原型开发指的是当有了一个概念或算法之类的东西,为了验证它的正确性或可行性而去找合适的语言快速实现出来。由于Python是脚本语言,且其本身功能丰富,所以特别试用于原型开发。

  • 跨平台和可移植性很好

    简单的说,可移植性就是对于同样的代码可以不经过改动直接拿到其他平台使用,并可以实现相同的功能。比如C更换平台后需要修改部分代码之后才能正常运行,实现同样的功能。比如C#的代码只能在Windows平台上运行,换个Linux系统基本上就没法运行使用了。

原文地址:https://www.cnblogs.com/exciting/p/8076950.html