Python 编程:从入门到实践(二十):基础知识——变量和简单数据类型 2.2.2

阅读数:19 2019 年 10 月 16 日 15:43

Python编程:从入门到实践(二十):基础知识——变量和简单数据类型 2.2.2

(变量:使用变量时避免命名错误)

程序员都会犯错,而且大多数程序员每天都会犯错。虽然优秀的程序员也会犯错,但他们也知道如何高效地消除错误。下面来看一种你可能会犯的错误,并学习如何消除它。

我们将有意地编写一些引发错误的代码。请输入下面的代码,包括其中以粗体显示但拼写不正确的单词 mesage:

复制代码
message = "Hello Python Crash Course reader!"
print(mesage)

程序存在错误时,Python 解释器将竭尽所能地帮助你找出问题所在。程序无法成功地运行时,解释器会提供一个 traceback。traceback 是一条记录,指出了解释器尝试运行代码时,在什么地方陷入了困境。下面是你不小心错误地拼写了变量名时,Python 解释器提供的 traceback:

复制代码
Traceback (most recent call last):
File "hello_world.py", line 2, in <module>
❷ print(mesage)
❸ NameError: name 'mesage' is not defined

解释器指出,文件 hello_world.py 的第 2 行存在错误(见❶);它列出了这行代码,旨在帮助你快速找出错误(见❷);它还指出了它发现的是什么样的错误(见❸)。在这里,解释器发现了一个名称错误,并指出打印的变量mesage未定义:Python 无法识别你提供的变量名。名称错误通常意味着两种情况:要么是使用变量前忘记了给它赋值,要么是输入变量名时拼写不正确。

在这个示例中,第 2 行的变量名message中遗漏了字母 s。Python 解释器不会对代码做拼写检查,但要求变量名的拼写一致。例如,如果在代码的另一个地方也将 message 错误地拼写成了 mesage,结果将如何呢?

复制代码
mesage = "Hello Python Crash Course reader!"
print(mesage)

在这种情况下,程序将成功地运行:

复制代码
Hello Python Crash Course reader!

计算机一丝不苟,但不关心拼写是否正确。因此,创建变量名和编写代码时,你无需考虑英语中的拼写和语法规则。

很多编程错误都很简单,只是在程序的某一行输错了一个字符。为找出这种错误而花费很长时间的大有人在。很多程序员天资聪颖、经验丰富,却为找出这种细微的错误花费数小时。你可能觉得这很好笑,但别忘了,在你的编程生涯中,经常会有同样的遭遇。

注意 要理解新的编程概念,最佳的方式是尝试在程序中使用它们。如果你在做本书的练习时陷入了困境,请尝试做点其他的事情。如果这样做后依然无法摆脱困境,请复习相关内容。如果这样做后情况依然如故,请参阅附录 C 的建议。

动手试一试
请完成下面的练习,在做每个练习时,都编写一个独立的程序。保存每个程序时,使用符合标准 Python 约定的文件名:使用小写字母和下划线,如 simple_message.py 和 simple_messages.py。
2-1 简单消息:将一条消息存储到变量中,再将其打印出来。
2-2 多条简单消息:将一条消息存储到变量中,将其打印出来;再将变量的值修改为一条新消息,并将其打印出来。

评论

发布