admin 管理员组文章数量: 1184232
2024年12月30日发(作者:landrop 安卓)
1.1 计算机的概念
计算机,不可否认,是人类至今朵伟大的发明之
一
。
计算机的英文C
ompute
r,最初指专门负责计算的人,到了20世纪中期演变成为
计算设备。
计算机的故事要从人类久远但延续至今的计算需求说起。人类为何需要计算?很
显然,人类在敬畏自然
、
认识自然甚至想驾驭自然的过程中,为了分析自然规律,需
要对问题进行最化计算。人类社会对有限资源的分配、对人类活动的有效管理,需要
规划和计算。人类探索思维空间的数学、逻辑和哲学问题,需要推理和计算。到了
21
世纪,计算需求已经深入到现代人的日常生活中,无处不在。
计算需求的方法问题由计算科学来解决,具体的计算由计算设备来实现。广义上
讲,计算设备包含计算机,但不限于此。
计算机的定义有很多种,如下定义更为符合计算机的本质:“计算机
是能够根据
指令操作数据的设备
(Acomputer is a machine that manipulates data acco呻ngto a list of
instructions
)
。
从定义可以看出
,
计算机有两个显著特性:功能性和可编程性。计算机的功能性
指对数据的操作,表现为数据计算
、
输入输出处理和结果保存等。计算机的可编程性
指它可以根据
一
系列指令自动地
、
可预测地
、
准确地完成操作者的意图。
理解计算机应该结合计算机定义中的两个特征,只要设备具备了计算的功能性和
操作的可编程性,就可以看成是计算机的
一
种。区分计算设备是否是计算机并不依靠
其制造材质,计算机不
一
定是电子的,例如光计算机、扭子计算机、超导计算机、生
物计算机,这些都不是建立在电子学基础上,但都是计算机概念的延伸。除特殊说明
外,本书后续内容中
”
”
计算机
”
均指电子计算机。
计算机技术发展主要围绕计算机的功能性和可编程性展开。
一
方面,计算机硬件
所依赖的集成电路规模按照摩尔定律以指数方式增长,计算机运行速度也接近几何级
数快速增加。另
一
方面
,
表达计算机可编程性的程序设计语言也经历了机器语言、汇
编语言和高级语言3个阶段。
1.2
程序设
计语
言
I.2. I
程序设计诏
言概述
程序设计语言是计算机能够理解和识别操作的一种交互体系,它按照特定的规则
组织计算机指令,使计算机能够自动进行各种操作处理。按照程序设计语言规则组织
起来的一组计算机指令称为计算机程序。
程序设计语言包括3个大类,即机器语言
、
汇编语言和高级语言。机器语言是
一
种二进制语言,它直接使用二进制代码表达指令,是计算机硬件可以直接识别和执行
的程序设计语言。汇编语言使用助记符与机器语言中的指令进行
一一
对应。由千这两
类语言都直接针对计算机硬件,所以统称为低级语言。高级语言区别于低级语言,是
接近千自然语言的
一
种计算机语言,可以更容易地描述计算问题,并利用计算机解决
计算问题。如果能像科幻电影演绎的那样用母语(人类语言)驱动计算机将是最完美
的事情。遗憾的是,尽管许多
一
流的计算机科学家为此做过很多努力,仍然无法在可
预见的未来设计出能完全理解人类语言的计算机。
诚然,即使计算机能理解人类语言,人类语言也不适合描述复杂算法。人类语言
具有不严密和模糊的缺点。例如,
“我
”
“
我看见
一
个人在公园,带着望远镜
”
这句话,基千
常识和经验,交谈双方大多数情况下能理解彼此表达的意思,但深究
一
下,究竟是
带着望远镜,还是
“
那个人
“
带着望远镜呢?这种模糊性也经常产生错误理解
和歧义。相比人类语言,程序设计语言的结构在语法上十分精密,在语义上定义准确。
第
一
个广泛应用的高级语言是C语言,诞生千1972年。随看程序设计语言40余
年的发展,已经出现了很多种高级语言,也有很多高级语言退出了历史舞台。下面这
C#、FORTRAN、Java、JavaScript、PHP、Py
C++
、
些是常用的程序设计语言:C
、
thon、SQL、Go、Delphi、HTML、Verilo
g等
。
1.2. 2 编详和解释
高级语言按照执行方法的不同可以分成2个类别:静态语言和脚本语言。这两种
类型语言采用不同的执行方式,静态语言采用编译执行,脚本语言采用解释执行。
编译是
一
个将源代码转换成目标代码的过程,通常,源代码是高级语言,目标代
码是机器语言,执行编译的计算机程序称为编译器。图I.1展示了程序的编译过程,
其中,虚线表示目标代码被计算机运行。编译器将源代码转换成目标代码,计算机可
以立即或稍后运行这个目标代码。
解释是
一
个将源代码逐条转换成目标代码同时逐条运行目标代码的过程。执行解
释的计算机程序称为解释器。图I.2展示了程序的解释过程,其中,高级语言源代码
与输入数据
一
同输入给解释器,然后输出运行结果。
图II N厅的谝计过伟
l
一
图I.2
,
f',厅的韶释过竹'
解释和编译的区别在于编译是
一
次性地翻译,
旦程序被编译,不再需要编译程
序或者源代码。解释则在每次运行时都需要源代码和解释器。
编译过程只进行
一
次,所以,编译执行速度并不是关键,目标代码的运行速度是
关键。为此,可以在编译器中集成一些优化技术,使生成的目标代码具备更好的执行
效率。然而,解释器中却不能集成太多优化技术,因为优化技术会消耗运行时间,使
得整个程序的执行速度受到影响。
采用编译方法有如下好处。
·对于相同源代码,编译所产生的目标代码执行速度更快。
·目标代码不需要编译器就可以运行,在相同操作系统上使用灵活。
采用解释方法有如下好处。
·解释执行需要保留源代码,使得程序纠错和维护十分灵活。
·只要存在解释器,源代码可以在任何操作系统上运行,可移植性好。
简单说,解释执行尽管牺牲了一定的执行性能,但可以支持跨硬件或操作系统平
台,保留源代码对升级维护十分有利,适合非性能关键的程序运行场呆。Python语言
是
一
种典型的脚本语言,采用解释执行的方式,但它的解释器也保留了编译器的功能,
随着程序运行,解释器也会生成一个完整的目标代码。这种将解释器和编译器结合的
新解释器也是现代脚本语言为了提升计算性能的
一
种有益演进。
]. 2. 3 计究机编程
随着计算机科学技术的发展,计算机已经成为社会活动的普通工具,掌握一定编
程技术有助于更好地利用计算机解决所面对的问题。此外,计算机已经无处不在,不
懂程序设计的人经常感觉好像被计算机控制或绑架,学会编程可以驾驭计算机,提升
心理满足感和安全感。
计算机编程是一项富有挑战性的体力和脑力运动,尤其在面对复杂计算问题和苛
刻运算要求的情况下。它要求编程者不仅具有规划全局的能力,还要具备处理细节的
技术。很多程序语言,例如CIC++等,包含了复杂的语法,掌握并灵活运用这些编程
语言需要刻苦和深入的学习。诚然,做任何事情需要认真与刻苦,但学习程序设计真
的那么难吗?
或许学习其他语言会非常困难,使相当部分人退缩。但对于Python语言,本书将
开启一个全新的程序设计学习历程。这里没有大量枯燥的概念和语法,只有通过实例
展示的程序设计的魅力和力蜇。
编写程序的过程可以获得很多快乐,它也是一项具有创造性、可以带来价值的活
动。它不仅能解决实实在在的问题,也提供了表现自我的平台。
1.
3
P
y
thon
语
言
1.3. 1
Python
j什言概
述
Python语
言
诞
生
千1990年前后,由Guidovan Rossum设计并领导开发。该语言以
Python
命名
源
千Guido的兴趣
。也
许Python语言的
诞
生是个偶然,但2
0多年来的发展
将这个偶然变成了计算机科学与技术发展过程中的一次标志性事件。
2
000年10月,Python2. 0正式发布,标志若Python语言完成了自身涅梁,解决了
其解释器和运行环境中的众多问题,开启了Python广泛应用的新时代。至今,Python
2.0
系列
发布
了
最
后一个
稳定版本Python2. 7. 6,且不再更新。
2008年12月
,Python
3.
0
正式发布,这个版本在语法层面和解释器内部做了很多
修改。很可惜,这个版本不能兼容Python
2
.
0
系列的既有语法,因此,所有基千Python
2.0
系列版本编写的库函数都必须修改后才能被Python3. 0系列
解释器运行。Python
3.0
系列的版本号已经到
3.4
。
由于目前大部分Python库仍然更好地支待Python2.
0系列版本,本书也采用2.0
系列版本作为示例平台。随着整个Python社区对
3.
0
系列版本的不断推动,不久将来,
Python
3. 0系列的通用性将会有显著提升,并最终取代
2.0
系列版本。这两个系列版本
在大部分语法结构上保持一致,只有细节上的不同。本书中大部分例子均
可以在
3
.
0
系列版本中正确运行。
Pyhon语言是一个脚
本语言,具有如下特点
。
•
P
y
hon语言通过强制缩进保证程序的可读性。
•
Python程序不需要一个主函数,儿条语句的组合也可以运行。
·尽管
Python
语言是脚本语言,但可以同时被解释和编译执行。
•
Python语言很简洁,只有少拭的语法约束。
•
Python语言可以面向过程,也可以面向对象,支持灵活的编程模式。
本书后续章节将会一步步揭开Python语言的面纱,并带领读者采用这个语言解决
一
个个有趣又实用的问题。本书后续章节的行文中除个别地方外将用
“
Pytho
"Pylhon语言
”
n"代替
。
I.3
.
2 使川Python语占编写Hello程序
学习编程语言有一个惯例,即运行最简单的Hello程序,该程序功能是在屏幕上打
印出
“
HelloWorld"。这个程序虽小,但却是初学者接触语言的第一步。使用Python编
写的Hello程序只包含一行代码,如下:
print "Hello World•
上述代码中,print表示将后面引号中的信息输出到屏幕上。该代码显示效果如下:
>»print "Hello World"
Hello World
其中,第一行
“
>>>
”
是Python语言运行环境的提示符,表示可以在这个符号后面输
入Python语句或者包含Python语句的文件。第二行是Python语句的执行结果。
Python语言的Hello程序似乎与人类语言类似,通过一行语句就把打印的事情解决
了。其他语言的Hello程序并不这样简洁,下面是C语言的Hello程序,对比一下:
#include< s七dio.h >
int main (void)
论
一
printf ("Hello World n ");
return O;
其中
include、int、main的
具体含义就不具体介绍了。上述C语言代码与之前的Pytho
n
代码功能一样,也只是打印一个
“
HelloWorld"。这个最小的例子也许不能说明更多情
况,但Python的简洁是公认的。同样功能的程序
,Python
实现的代码行数也许仅相当
于C语言的
l/10至l/
5(取决于程序的复杂度和规模)。更少的代码行数、更简洁的表
达方式将带来更少的程序错误、更快的程序开发速度和更好的可读性。
1. 3. 3 Python诏言的丿r发坏埮配',
忙
t
本节介绍如何安装配笠Python的开发和运行环境。
首先, 到Python主页下载并安装 Python基本开发和运行环境
。
这里
,
根据操作系统版本选择下载相应的Python2. 7. 6版本
作系统用户,可下载
“
程序。
对
于Windo
ws
操
Python2. 7. 6 Windo
w
s Installer"安装包。安装包下载后,请跟
随提示安装。
其次,在程序顺利安装后,可以通过以下几种方式启动Python解释器或运行环境。
下面以Win
do
ws操作系统为例说明。
第一种方法,启动Windo
w
s操作系统命令行工具(),输入命令python,
在命令提示符>>>后面输入语句print" Hello World
”
并按
“
回车
”
键,显示结果如
图1.3所示。在>>>提示符后输入exit()或者quit()可以退出Python运行环境。
图I.3 通过命令行1;]动1
)
}
IIlOl1
,
已ii环培
.
第二种方法,通过调用Windo
w
s系统中安装的IDLE来启动Python运行环境
。
IDLE
是Python软件包自带的集成开发环境,在其中输入Hello程序的效果如图I.4所示。
恺
"-2.7.6ll
I
l
.
Python 2. 7. 6 (de!邕ul.e,Nov 10 2013, 19:24:18)[!'.SC v.1500 32 b土e(Ineel) I on.,止-
32
T九兀
copyri叩e•,•cred土亡s•or •uce心eO • tor more 乙ion.
»> prin亡·HelloWorld·
8ell0何o工ld
>>>
由Edit沁,凶“如邓
w,
心归心P
,归代,置一
h......
l
一”
霎酮
图I. 4 通过IDLE启动Python运行环垃
第三种方法, 按照Python的语法格式编写 代码, 并保存为文件。 以Hello程序为
例, 可以将 代码保存成文件 hello.
p
y。Python 代码可以在任意编辑器中编写, 对于几百
行以下规模的代码可以使用W
indows自带的notepad
.
exe工具或者开源记事本增强工具
Notepad++。 然后, 打开W
indows的命令行(cmd. exe), 通过执行下列语句运行Py
thon
文件
:
p
y
thon hello.
PY
第四种方法, 按照第二种方法, 打开IDLE, 使用快捷键Ctrl + N打开一个新窗口
,
在其中可以输入Python 语句, 例如Hello程序, 并保存为 hello.
p
y文件, 如
图1.
5所
示。 使用快捷键F
5
即可运行该程序。
当然, 还有第五种方法, 可以将Python
集成到Eclipse等
面向较大规模项目开发的
集成开发环境中。
本书所有例子采用前四种方法均可以很好地编写并调试, 并不需要
集成开发环境。 建议初学者采用第四种方法。
由泣b叩如9志…M叫叩.
prin
.
lloW3r1d·
b
它
".
心
e.
图I.5 通过IDLE编巧作序并保存为文件
在其他操作系统上配置
Python
环境与上述
在
Windows
系统上的配置方法相似。
本章
小结
本章介绍了计算机的基本概念、程序设计语言和
Python
语言。重点阐述了计算机
的功能性和可编程性、程序设计语言分类、编译和解释、
Python
语言的历史和发展。
通过使用
Python
语言编写的
Hello
程序实例,给出了
Python
开发环境配翌方法。
习
题
、判断题
1.
2.
3.
高级语言可以直接在计算机上运行。
解释是对源程序进行编译,然后运行编译后的目标文件。
Py
小
on
是一个动态语言
。
执行的时
候需要
一
个主函数
。
要求保存的文件
以
PY
4.
Python
5.
Python
为扩展名,
否则文件无法被执
行。
一、选
择题
l.下
列哪些不是辅助存储器:
.硬盘
2.
一条语
句可以
理解为:
A.
对机器语言的翻译
C.对问题的精确描述
3.编译器与解释器的区别是:
A.
编译
器是
一
个程
序
闪
存
驱动
器
-ROM
B.
一
条完
整的计
算机命
令
D.
一
段
算
法
B.编译器用千将高级语言翻译成机器语言
C.在程序解释完成后,便不再需要解释器
D.编译器处理源代码
4.
下面哪些是对注释的不正确理解:
A.注释使程序更加高效
B.
注释的目的是便千人们阅读源代码
C.
注释
在
Python
中是被忽
略的
D.
Pytho
n
中
的
注释
以#开
头
Python
语言的
特点不
包含哪
个
:
A.
Pyth
on
语言
十分
简洁
B.
Pytho
n
语言
可以
跨平
台运
行
C.
Pyth
on
5.
语言
采用
解释
执
行
D.
Python
语言是
面向对
象的编
程语言
版权声明:本文标题:程序设计基础 PYTHON语言 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1735645981a1682439.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论