The Second Day
2016Year 11Month 28Day Monday
Hello everybody!(大家好)Today is 我在书上正式学习 the second day of the Python(Python的第二天)
The second chapter (第二章)
2. 变量和简单的数据类型
在本章中,你将学习可在 Python 程序中使用的各种数据,还将学习如何将数据存储到变量中,以及如何在程序中使用这些变量。
2.1 运行 hello_world.py 发生的情况
运行 hello_world.py 时,Python都做了些什么呢?下面来深入研究一下。实际上,即便是运行简单的程序,Python所做的工作也相当多:
运行上述代码时,你将看到如下输入:
运行文件 hello_world.py 时,末尾的.py是指出这是一个Python程序,因此编辑器讲使用Python解释器来运行它。Python解释器读取整个 程序,确定其中每个单词的含义。
Example(例如):它知道 print 是一个函数的名称,因此讲其显示为蓝色;它知道 “Hello Python World!” 不是Python代码,因此将其显示为橙色。这种功能称为语法突出,在你刚开始编写程序时很有帮助。
2.2. 变量
下面来尝试在 hello_world.py 中使用一个变量。在这个文件开头添加一行代码,并对第2行代码进行修改,如下所示:
运行这个程序,看看结果如何?你会发现,输出与以前相同:
我们添加了一个名为message的变量。每个变量都存储了一个值——与变量相关联的信息。在这里,存储的值为文本 “Hello Python WOrld!”。
添加变量导致 Python 解释器需要做更多工作。处理第1行代码时,它将文本 “Hello Python World!” 与变量 message 关联起来;而处理第2行代码时,它将于变量 message 关联的值打印到屏幕。
下面来进一步扩展这个程序;修改 hello_world.py ,使其再打印一条消息。为此,在 hello_world.py 中添加一个空行,再添加下面两行代码:
现在如果运行这个程序,将看到两行输出:
在程序中可随时修改变量的值,而 Python 将始终记录变量的最新值。
2.2.1 变量的命名和使用
在 Python 中使用变量时,需要遵守一些规则和指南。违反这些规则将引发错误,而指南旨在让你编写的代码更容易阅读和理解。请务必牢记下述有关变量的规则。
One. 变量名只能包含字母、数字、下划线。变量名可以字母或下划线打头,但不能以数字打头,Example(例如):可将变量命为message_1,但不能将其铭为1_message。
Two. 变量名不能包含空格,但可使用下划线来分割其中的单词。Example(例如):变量名 greeting_message 可行,但变量名 greeting message 会引发错误。
Three. 不要将 Python 关键字和函数名用作变量名,即不要使用 Python 保留用于特殊用途的单词,如 print.
Four. 变量名应既简短又具有描述性。Example(例如): name 比 n 好, studet_name 比 s_n 好, name_length 比 length_of_persons_name好。
Five. 慎用小写字母 i 和大写字母 O ,因为它们可能被人看错成数字 1 和 0 。
要创建良好的变量名,需要经过一定的实践,在程序复杂而有趣时尤其如此。随着你编写的程序越来越多,并开始阅读别人编写的代码,将越来越善于创建有意义的变量名。
注意:
就目前而言,应使用小写的 Python 变量名。在变量名中使用大写字母虽然不会导致错误。但避免使用大写字母是个不错的主意。
2.2.2 使用变量时避免命名错误
程序员都会犯错,而且大多数程序员每天都会犯错。虽然优秀的程序员也会犯错,但他们知道如何高效地消除错误。下面来看一种你可能会犯的错误,并学习如何消除它。
我们将有意地编写一些引发错误的代码。请输入下面的代码,包括其中以粗体显示但拼写不正确的单词 mesage :
程序存在错误时, Python 解释器将竭尽所能帮助你找出问题所在。程序无法成功地运行时,解释器会提供一个 traceback(回溯) 。 traceback 是一条记录指出了解解释器尝试运行代码时,在什么地方陷入了困境。下面是你不小心错误地拼写了变量名时, Python 解释器提供的 traceback :
解释器指出,文件 hello_world.py 的第4行存在错误(看图第二行);它列出了这行代码,旨在帮助你快速找出错误(看图第三行);它还指出了它发现的是什么样的错误(看图第四行)。在这里,解释器发现了一个名称错误,并指出打印的变量 mesage 未定义: Python 无法识别你提供的变量名。名称错误通常意味着两种情况:要么是使用变量前忘记了给它赋值,要么是输入变量名时拼写不正确。
在这个示例中,第四行的变量名 message 中遗漏了字母 s 。 Python 解释器不会对代码做拼写检查,但要求变量名的拼写一致。Example(例如):如果在代码的另一个地方也将 message 错误地2拼写成了 mesage , 结果将如何呢?
在这种情况下,陈序将成功地运行:
计算机一丝不苟,但不关心拼写是否正确。因此,创建变量名和编写代码时,你无需考虑英文中的拼写和语法规则。
很多编程语法错误都很简单,只是在程序的某一行输错了一个字符。为找出这种错误而花费很长时间的人大有人在。很多程序员天资聪颖、经验丰富,却为找出这种细微的错误花费数小时。你可能觉得好笑,但别忘了,在你的编程生涯中,经常会有同样的遭遇。
注意:
要理解新的编程概念,最佳的方式是尝试在程序中使用它们。如果你在做本书的练习陷入了困境,请尝试做点其他的事情。如果这样做后依然无法摆脱困境,请复习相关内容。如果这样做后情况依然如故,请参考前一章的建议。
动手试一试
请完成下面的练习,在做每个练习时,都编写一个独立的程序。保存每个程序时,使用符合标准 Python 约定的文件名:使用小写字母和下划线,
Example(例如):simple_message.py and simple_messages.py。
2-1 简单消息:将一条消息存储到变量中,再将其打印出来。
2-2 多条消息:将一条消息存储到变量中,将其打印出来;再将变量的值修改为一条新消息,并将其打印出来。