《Python语言程序设计》——1.3 程序设计语言

简介:

本节书摘来自华章计算机《Python语言程序设计》一书中的第1章,第1.3节,作者:[美]梁勇(Y. Daniel Liang) 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.3 程序设计语言

关键点:计算机程序,又称为软件,是告诉计算机要做什么的指令集。

计算机并不理解人类的语言,所以程序必须用计算机使用的语言来书写。现在有几百种程序设计语言,开发它们对人们来说可以让程序设计过程更加简单。但是,所有的程序必须被转换成计算机能够理解的语言。
1.3.1 机器语言
计算机自己的语言(会因计算机的种类不同而有所不同)是它的机器语言——一套内嵌在计算机内的原始指令集。这些指令以二进制代码的形式存在,所以如果给计算机一条用它自己的语言编写的程序,必须输入二进制码的指令。例如:要对两个数字做加法,就必须编写一条二进制码的指令,如下所示:image

1.3.2 汇编语言
用机器语言进行程序设计是一个繁琐的过程。而且,用机器语言编写的程序非常难以读懂,也很难修改。因此,在计算机发展的早期人们就发明了汇编语言作为机器语言的一个替代品。汇编语言使用一种简短的描述性单词(称为助记符)来表示每个机器语言指令。例如:助记符add表示数字的加法而sub表示数字的减法。要将数字2和3进行相加并得到结果,可能要编写一条如下所示的汇编代码的指令:image

开发汇编语言是为了让程序设计更加容易。但是,因为计算机不能理解汇编语言,所以要使用另一种程序——称为汇编器——将汇编语言程序翻译成机器代码,如图1-8所示。


<a href=https://yqfile.alicdn.com/66229ea9ccd7f372491b2da916b71a7755c5f001.png" >

用汇编语言编写代码比用机器语言编写代码更加容易。但是,用汇编语言编写代码仍旧是很繁琐的。用汇编语言编写的每条指令本质上讲都对应到机器代码编写的一条指令。用汇编语言编写代码需要知道CPU是如何工作的。汇编语言被称为低级语言,因为汇编语言在本质上是接近机器语言的,而且它是不独立于机器的。
1.3.3 高级语言
20世纪50年代,出现了被称为高级语言的新一代的程序设计语言。它们是独立于平台的,也就是说,可以用高级语言编写程序并让它在不同类型的机器上运行。高级语言很像英语,并且易于学习和使用。高级程序设计语言编写的指令称为语句。例如:这里是一条用于计算半径为5的圆的面积的高级语言语句:image

现在有很多种高级程序设计语言,而且每一种语言都是为了特定目的而设计的。表1-1罗列出一些流行的高级语言。


93c24a2367ebeb62b8c6df423d3b8e1f915c9313

使用高级语言编写的程序称为源程序或源代码。因为计算机不能理解源程序,所以源程序必须被翻译成可执行的机器代码。使用另一个称为解释器或编译器的程序设计工具来完成这个翻译过程。

  • 解释器从源代码中读取一条语句,将它翻译成为机器代码或者虚拟机代码,然后立即执行它,如图1-9a所示。注意:源代码中的一条语句可以被翻译成几条机器指令。
  • 编译器将整个源代码翻译成一个机器代码文件,然后执行这个机器代码文件,如图1-9b所示。

a)解释器翻译和执行程序时,一次一句

b)编译器将整个源程序翻译成机器语言文件来执行


cf8681bb16643d43f5b8f467520910f62eafd7c1

使用解释器运行Python代码。大多数其他程序设计语言使用编译器进行处理。
检查点
1.10 CPU能够理解的是什么语言?
1.11 什么是汇编语言?
1.12 什么是汇编器?
1.13 什么是高级程序设计语言?
1.14 什么是源程序?
1.15 什么是解释器?
1.16 什么是编译器?
1.17 解释语言和编译语言之间的区别是什么?

相关文章
|
7月前
|
Python
277: 程序设计C 实验二 题目五 统计二进制数中的1的个数(python)
277: 程序设计C 实验二 题目五 统计二进制数中的1的个数(python)
|
7月前
|
Python
557: 程序设计C 实验四 题目三 字符串交叉插入(python)
557: 程序设计C 实验四 题目三 字符串交叉插入(python)
|
7月前
|
Python
使用python统计字符串中字母个数的函数程序设计
要统计Python字符串中的字母,首先就应该要判断出这些字符为字母,那该如何判断呢?我们可以将该字符串通过Python内置的字符串方法upper()来全部转换为大写,然后通过for循环来遍历该字符串,每次迭代过程中都使用isupper()方法来判断该字符是否为大写。这样就可以避免将字符串中的中文统计在内。我们首先来通过一个实例来了解isupper()方法的用法,如下:
84 2
|
Python Windows
Python程序设计实例 | 带图标的exe可执行文件的打包
* 本系列推文案例中,建议Python采用3.10及以上版本,NumPy采用1.22.3及以上版本,Matplotlib采用3.5.1及以上版本,Pandas采用1.4.2及以上版本。Python从3.10这个版本开始,标准发行版本中自带的IDLE交互式环境中输入提示符>>>单独放在左侧,不能随输入语句一起复制。为了清晰区分实例在交互环境中的输入和输出,本系列推文在每个输入语句的开头依然保留输入提示符>>>。
116 0
|
5月前
|
人工智能 数据挖掘 大数据
爆赞!GitHub首本标星120K的Python程序设计人工智能案例手册
为什么要学习Python? Python简单易学,且提供了丰富的第三方库,可以用较少的代码完成较多的工作,使开发者能够专注于如何解决问题而只花较少的时间去考虑如何编程。此外,Python还具有免费开源、跨平台、面向对象、胶水语言等优点,在系统编程、图形界面开发、科学计算、Web开发、数据分析、人工智能等方面有广泛应用。尤其是在数据分析和人工智能方面,Python已成为最受开发者欢迎的编程语言之一,不仅大量计算机专业人员选择使用Python进行快速开发,许多非计算机专业人员也纷纷选择Python语言来解决专业问题。 由于Python应用广泛,关于Python的参考书目前已经有很多,但将Pytho
|
5月前
|
分布式计算 NoSQL 物联网
麻省理工IOT教授撰写的1058页Python程序设计人工智能实践手册!
Python是世界上最流行的语言之一,也是编程语言中使用人数增长最快的一种。 开发者经常会很快地发现自己喜欢Python。他们会欣赏Python的表达力、可读性、简洁性和交互性,也会喜欢开源软件开发环境,这个开源环境正在为广泛的应用领域提供快速增长的可重用软件基础。 几十年来,一些趋势已经强有力地显现出来。计算机硬件已经迅速变得更快、更便宜、更小;互联网带宽已经迅速变得越来越大,同时也越来越便宜;优质的计算机软件已经变得越来越丰富,并且通过“开源”方式免费或几乎免费;很快,“物联网”将连接数以百亿计的各种可想象的设备。这将导致以快速增长的速度和数量生成大量数据。 在今天的计算技术中,最新的创新
|
5月前
|
分布式计算 NoSQL 物联网
麻省理工IOT教授撰写的1058页Python程序设计人工智能实践手册!
Python是世界上最流行的语言之一,也是编程语言中使用人数增长最快的一种。 开发者经常会很快地发现自己喜欢Python。他们会欣赏Python的表达力、可读性、简洁性和交互性,也会喜欢开源软件开发环境,这个开源环境正在为广泛的应用领域提供快速增长的可重用软件基础。
|
6月前
|
人工智能 数据挖掘 大数据
538个代码示例!麻省理工教授的Python程序设计+人工智能案例实践
Python简单易学,且提供了丰富的第三方库,可以用较少的代码完成较多的工作,使开发者能够专注于如何解决问题而只花较少的时间去考虑如何编程。 此外,Python还具有免费开源、跨平台、面向对象、胶水语言等优点,在系统编程、图形界面开发、科学计算、Web开发、数据分析、人工智能等方面有广泛应用。 尤其是在数据分析和人工智能方面,Python已成为最受开发者欢迎的编程语言之一,不仅大量计算机专业人员选择使用Python进行快速开发,许多非计算机专业人员也纷纷选择Python语言来解决专业问题。 由于Python应用广泛,关于Python的参考书目前已经有很多,但将Python编程与数据分析、人工智
|
6月前
|
Python
选择程序设计(python)
选择程序设计(python)
|
6月前
|
存储 Python
顺序结构程序设计(python)
顺序结构程序设计(python)