《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 解释语言和编译语言之间的区别是什么?

相关文章
|
4月前
|
Python
使用python统计字符串中字母个数的函数程序设计
要统计Python字符串中的字母,首先就应该要判断出这些字符为字母,那该如何判断呢?我们可以将该字符串通过Python内置的字符串方法upper()来全部转换为大写,然后通过for循环来遍历该字符串,每次迭代过程中都使用isupper()方法来判断该字符是否为大写。这样就可以避免将字符串中的中文统计在内。我们首先来通过一个实例来了解isupper()方法的用法,如下:
49 2
|
9月前
|
中间件 Linux iOS开发
【创作赢红包】【2023】某python语言程序设计跟学第五周内容
【创作赢红包】【2023】某python语言程序设计跟学第五周内容
107 0
|
7月前
|
Python Windows
Python程序设计实例 | 带图标的exe可执行文件的打包
* 本系列推文案例中,建议Python采用3.10及以上版本,NumPy采用1.22.3及以上版本,Matplotlib采用3.5.1及以上版本,Pandas采用1.4.2及以上版本。Python从3.10这个版本开始,标准发行版本中自带的IDLE交互式环境中输入提示符>>>单独放在左侧,不能随输入语句一起复制。为了清晰区分实例在交互环境中的输入和输出,本系列推文在每个输入语句的开头依然保留输入提示符>>>。
85 0
|
6月前
|
数据安全/隐私保护 Python
python之用户登录程序设计
python之用户登录程序设计
|
7月前
|
Python
Python程序设计实例 | 列表
* 本系列推文案例中,建议Python采用3.10及以上版本,NumPy采用1.22.3及以上版本,Matplotlib采用3.5.1及以上版本,Pandas采用1.4.2及以上版本。Python从3.10这个版本开始,标准发行版本中自带的IDLE交互式环境中输入提示符>>>单独放在左侧,不能随输入语句一起复制。为了清晰区分实例在交互环境中的输入和输出,本系列推文在每个输入语句的开头依然保留输入提示符>>>。
132 0
Python程序设计实例 | 列表
|
4月前
|
索引 Python
Python 列表查找元素位置的高级函数代码程序设计
Python中,要查找list列表中元素的位置,即元素在列表中的索引位置,可以使用list列表类型内置的方法index(),但这个并不能直接使用,因为要考虑到查找的元素可能并不存在于list列表之中,而使用index()方法查找列表中并不存在的元素,Python将抛出ValueError,程序也可能因此终止,为了避免这种情况
40 3
|
6月前
|
自然语言处理 算法 编译器
Python系列学习第一章-基本程序设计
hello,各位大家好,我是Token_w,下面是我近期主攻方向,给大家更新讲解学习python 沉淀下来,开始更新从最基础的学习python,从入门到精通,并且中间不断穿插各种实战案例 python是一个很好的工具性质的语言,简单易学,希望对大家有所帮助 整理不易,希望大家多多点赞评论收藏支持!!!
103 0
|
7月前
|
Python
Python程序设计实例 | set集合
* 本系列推文案例中,建议Python采用3.10及以上版本,NumPy采用1.22.3及以上版本,Matplotlib采用3.5.1及以上版本,Pandas采用1.4.2及以上版本。Python从3.10这个版本开始,标准发行版本中自带的IDLE交互式环境中输入提示符>>>单独放在左侧,不能随输入语句一起复制。为了清晰区分实例在交互环境中的输入和输出,本系列推文在每个输入语句的开头依然保留输入提示符>>>。
142 0
|
7月前
|
Python
Python程序设计实例 | 字典
* 本系列推文案例中,建议Python采用3.10及以上版本,NumPy采用1.22.3及以上版本,Matplotlib采用3.5.1及以上版本,Pandas采用1.4.2及以上版本。Python从3.10这个版本开始,标准发行版本中自带的IDLE交互式环境中输入提示符>>>单独放在左侧,不能随输入语句一起复制。为了清晰区分实例在交互环境中的输入和输出,本系列推文在每个输入语句的开头依然保留输入提示符>>>。
201 0
|
7月前
|
Python
Python程序设计实例 | 控制结构
* 建议Python采用3.10及以上版本,NumPy采用1.22.3及以上版本,Matplotlib采用3.5.1及以上版本,Pandas采用1.4.2及以上版本。Python从3.10这个版本开始,标准发行版本中自带的IDLE交互式环境中输入提示符>>>单独放在左侧,不能随输入语句一起复制。为了清晰区分实例在交互环境中的输入和输出,本系列推文在每个输入语句的开头依然保留输入提示符>>>。
190 2
Python程序设计实例 | 控制结构