返回首页 《从零开始学 Python》(第二版)

预备

基本数据类型

语句和文件

函数

错误和异常

模块

保存数据

实战

用Tornado做网站

科学计算

结尾

写一个简单的程序

通过对四则运算的学习,已经初步接触了 Python 中内容,如果看官是零基础的学习者,可能有点迷惑了。难道敲几个命令,然后看到结果,就算编程了?这也不是那些能够自动运行的程序呀?

的确。到目前为止,还不能算编程,只能算会用一些指令(或者叫做命令)来做点简单的工作。

稍安勿躁,下面就开始编写一个真正的但是简单程序。

程序

下面一段,关于程序的概念,内容来自维基百科:

A computer program, or just a program, is a sequence of instructions, written to perform a specified task with a computer.[1] A computer requires programs to function, typically executing the program's instructions in a central processor.[2] The program has an executable form that the computer can use directly to execute the instructions. The same program in its human-readable source code form, from which executable programs are derived (e.g., compiled), enables a programmer to study and develop its algorithms. A collection of computer programs and related data is referred to as the software.

Computer source code is typically written by computer programmers.[3] Source code is written in a programming language that usually follows one of two main paradigms: imperative or declarative programming. Source code may be converted into an executable file (sometimes called an executable program or a binary) by a compiler and later executed by a central processing unit. Alternatively, computer programs may be executed with the aid of an interpreter, or may be embedded directly into hardware.

Computer programs may be ranked along functional lines: system software and application software. Two or more computer programs may run simultaneously on one computer from the perspective of the user, this process being known as multitasking.

计算机程序(Computer Program)是指一组指示计算机或其他具有信息处理能力装置每一步动作的指令,通常用某种程序设计语言编写,运行于某种目标体系结构上。打个比方,一个程序就像一个用汉语(程序设计语言)写下的红烧肉菜谱(程序),用于指导懂汉语和烹饪手法的人(体系结构)来做这个菜。

通常,计算机程序要经过编译和链接而成为一种人们不易看清而计算机可解读的格式,然后运行。未经编译就可运行的程序,通常称之为脚本程序(script)。

程序,简而言之,就是指令的集合。但是,有的程序需要编译,有的不需要。Python 编写的程序就不需要,因此她也被称之为解释性语言,编程出来的层序被叫做脚本程序。在有的程序员头脑中,有一种认为“编译型语言比解释性语言高价”的认识。这是错误的。不要认为编译的就好,不编译的就不好;也不要认为编译的就“高端”,不编译的就属于“低端”。有一些做了很多年程序的程序员或者其它什么人,可能会有这样的想法,这是毫无根据的。

不争论。用得妙就是好。

用 IDLE 的编程环境

能够写 Python 程序的工具很多,比如记事本就可以。当然,很多人总希望能用一个专门的编程工具,Python 里面自带了一个,作为简单应用是足够了。另外,可以根据自己的喜好用其它的工具,比如我用的是 vim,有不少人也用 eclipse,还有 notepad++,等等。软件领域为编程提供了丰富多彩的工具。

以 Python 默认的 IDE 为例,如下所示:

操作:File->New window

这样,就出现了一个新的操作界面,在这个界面里面,看不到用于输入指令的提示符:>>>,这个界面有点像记事本。说对了,本质上就是一个记事本,只能输入文本,不能直接在里面贴图片。

写两个大字:Hello,World

Hello,World.是面向世界的标志,所以,写任何程序,第一句一定要写这个,因为程序员是面向世界的,绝对不畏缩在某个局域网内,所以,所以看官要会科学上网,才能真正与世界 Hello。

直接上代码,就这么一行即可。

print "Hello,World"

如下图的样式

前面说过了,程序就是指令的集合,现在,这个程序里面,就一条指令。一条指令也可以成为集合。

注意观察,菜单上有一个 RUN,点击这个菜单,在下拉列表里面选择 Run Module。

会弹出对话框,要求把这个文件保存,这就比较简单了,保存到一个位置,看官一定要记住这个位置,并且取个文件名,文件名是以.py 为扩展名的。

都做好之后,点击确定按钮,就会发现在另外一个带有 >>> 的界面中,就自动出来了 Hello,World 两个大字。

成功了吗?成功了也别兴奋,因为还没有到庆祝的时候。

在这种情况系,我们依然是在 IDLE 的环境中实现了刚才那段程序的自动执行,如果脱离这个环境呢?

下面就关闭 IDLE,打开 shell(如果看官在使用苹果的 Mac OS 操作系统或者某种 linux 发行版的操作系统,比如我使用的是 ubuntu),或者打开 cmd(windows 操作系统的用户,特别提醒用 windows 的用户,使用 windows 不是你的错,错就错在你只会使用鼠标点来点去,而不想也不会使用命令,更不想也不会使用 linux 的命令,还梦想成为优秀程序员。),通过命令的方式,进入到你保存刚才的文件目录。

下图是我保存那个文件的地址,我把那个文件命名为 105.py,并保存在一个文件夹中。

然后在这个 shell 里面,输入:Python 105.py

上面这句话的含义就是告诉计算机,给我运行一个 Python 语言编写的程序,那个程序文件的名称是 105.py

我的计算机我做主。于是它给我乖乖地执行了这条命令。如下图:

还在沉默?可以欢呼了,德国队 7:1 胜巴西队,列看官中,不管是德国队还是巴西队的粉丝,都可以欢呼,因为你在程序员道路上迈出了伟大的第二步(什么迈出的第一步?)。顺便预测一下,本届世界杯最终冠军应该是:中国队。(还有这么扯的吗?)

解一道题目

请计算:19+2*4-8/2

代码如下:

#!/usr/bin/env python
#coding:utf-8

"""
请计算:
19+2*4-8/2
"""

a = 19+2*4-8/2
print a

提醒初学者,别复制这段代码,而是要一个字一个字的敲进去。然后保存(我保存的文件名是:105-1.py)。

在 shell 或者 cmd 中,执行:Python (文件名.py)

执行结果如下图:

好像还是比较简单。

下面对这个简单程序进行一一解释。

#!/usr/bin/env python

这一行是必须写的,它能够引导程序找到 Python 的解析器,也就是说,不管你这个文件保存在什么地方,这个程序都能执行,而不用制定 Python 的安装路径。

#coding:utf-8

这一行是告诉 Python,本程序采用的编码格式是 utf-8,什么是编码?什么是 utf-8?这是一个比较复杂且有历史的问题,此处暂不讨论。只有有了上面这句话,后面的程序中才能写汉字,否则就会报错了。看官可以把你的程序中的这行删掉,看看什么结果?

"""
请计算:
19+2*4-8/2
"""

这一行是让人看的,计算机看不懂。在 Python 程序中(别的编程语言也是如此),要写所谓的注释,就是对程序或者某段语句的说明文字,这些文字在计算机执行程序的时候,被计算机姑娘忽略,但是,注释又是必不可少的,正如前面说的那样,程序在大多数情况下是给人看的。注释就是帮助人理解程序的。

写注释的方式有两种,一种是单行注释,用 # 开头,另外一种是多行注释,用一对'''包裹起来。比如:

"""
请计算:
19+2*4-8/2
"""

# 开头的注释,可以像下面这样来写:

# 请计算:19+2*4-8/2

这种注释通常写在程序中的某个位置,比如某个语句的前面或者后面。计算机也会忽略这种注释的内容,只是给人看的。以 # 开头的注释,会在后面的编程中大量使用。

一般在程序的开头部分,都要写点东西,主要是告诉别人这个程序是用来做什么的。

a = 19+2*4-8/2

所谓语句,就是告诉程序要做什么事情。程序就是有各种各样的语句组成的。这条语句,又有一个名字,叫做复制语句。19+2*4-8/2 是一个表达式,最后要计算出一个结果,这个结果就是一个对象(又遇到了对象这个术语。在某些地方的方言中,把配偶、男女朋友也称之为对象,“对象”是一个应用很广泛的术语)。= 不要理解为数学中的等号,它的作用不是等于,而是完成赋值语句中“赋值”的功能。a 就是变量。这样就完成了一个赋值过程。

语句和表达式的区别:“表达式就是某件事”,“语句是做某件事”。

print a

这还是一个语句,称之为 print 语句,就是要打印出 a 的值(这种说法不是非常非常严格,但是通常总这么说。按照严格的说法,是打印变量 a 做对应的对象的值。嫌这种说法啰嗦,就直接说打印 a 的值)。

是不是在为看到自己写的第一个程序而欣慰呢?


总目录   |   上节:常用数学函数和运算优先级   |   下节:字符串(1)

如果你认为有必要打赏我,请通过支付宝:qiwsir@126.com,不胜感激。