第二章
Python变量及运用
在这章开始前,我们先回到上一章编写的简单例子hello_world.py程序:
hello_world.py
print("HelloPythonworld!")
运行上述代码时,你将看到如下输出:
HelloPythonworld!
运行文件hello_world.py时,末尾的.py指出这是一个Python程序,因此编辑器将使用Python解释器来运行它。Python解释器读取整个程序,确定其中每个单词的含义。例如,看到单词print时,解释器就会将括号中的所有内容打印到屏幕。
编写程序时,编辑器会以各种方式突出程序的不同部分。例如,它知道print是一个函数的名称,因此将其显示为蓝色;它知道“HelloPythonworld!”不是Python代码,因此将其显示为橙色。这种功能称为语法突出,在对刚开始编写程序时很有帮助。
1.变量
下面来尝试在hello_world.py中使用一个变量。在这个文件开头添加一行代码,并对第2行代码进行修改,如下所示:
message="HelloPythonworld!"
print(message)
运行这个程序,我们发现,输出与以前相同:
HelloPythonworld!
我们添加了一个名为message的变量。每个变量都存储了一个值——与变量相关联的信息。在这里,存储的值为文本“HelloPythonworld!”。添加变量导致Python解释器需要做更多工作。处理第1行代码时,它将文本“HelloPythonworld!”指向变量message并与之关联起来;第2行代码,它将变量message存储的值打印到屏幕。下面来进一步扩展这个程序:修改hello_world.py,使其再打印一条消息。为此,在hello_world.py中添加一个空行,再添加下面两行代码:
message="HelloPythonworld!"
print(message)
message="HelloPythonCrashCourseworld!"
print(message)
现在如果运行这个程序,将看到两行输出:
HelloPythonworld!
HelloPythonCrashCourseworld!
这说明,我们在程序中可随时修改变量的值,而Python始终指向message,这就好比一个饭馆,每天进出吃饭的人会很多,时刻都在变化,但只要饭馆的地址和名称不发生改变,我们就可以找到它。
1.1变量命名规则和使用
在Python中使用变量时,需要遵守一些规则和指南。如果违反这些规则将引发错误,而指南旨在让你编写的代码更容易阅读和理解:
变量名只能包含字母、数字和下划线。
变量名可以字母或下划线打头,但不能以数字打头,例如,可将变量命名为message_1,但不能将其命名为1_message。
变量名不能包含空格,但可使用下划线来分隔其中的单词。例如,变量名greeting_message可行,但变量名greetingmessage会引发错误。
不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词,如print。
变量名应既简短又具有描述性。例如,name比n好,your_name比y_n好。
慎用小写字母l和大写字母O,因为它们可能被人错看成数字1和0。
在自定义变量时,尽量使用小写字母,虽然使用大写字母不会导致错误。
1.2使用变量时避免命名错误
程序员都会犯错,但作为一名优秀的程序员,你应该知道如何高效地消除错误。下面,我们来看一种有可能会犯的错误,并学习如何消除它。
我们将有意地编写一些引发错误的代码。请输入下面的代码,包括其中以粗体显示但拼写不正确的单词mesage:
message="HelloPythonCrashCoursereader!"
print(mesage)
程序存在错误时,Python解释器将竭尽所能地帮助你找出问题所在。程序无法成功地运行时,解释器会提供一个traceback。traceback是一条记录,指出了解释器尝试运行代码时,在什么地方陷入了困境。下面是你不小心错误地拼写了变量名时,Python解释器提供的traceback:
Traceback(mostrecentcalllast):
在这个示例中,第2行的变量名message中遗漏了字母s。Python解释器不会对代码做拼写检查,但要求变量名的拼写一致。例如,如果在代码的另一个地方也将message错误地拼写成了mesage,结果将如何呢?
mesage="HelloPythonCrashCoursereader!"
print(mesage)
在这种情况下,程序将成功地运行:
HelloPythonCrashCoursereader!
创建变量名和编写代码时,你无需考虑英语中的拼写和语法规则。很多编程错误都很简单,只是在程序的某一行输错了一个字符,而为找出这个错误有时可能需要花费很长时间。所以,在你开始学习时,请时刻提醒自己不要犯这种错误!
2.字符串
大多数程序都定义并收集某种数据,然后使用它们来做些有意义的事情。鉴于此,对数据进行分类大有裨益。
我们将介绍的第一种数据类型是字符串。字符串虽然看似简单,但能够以很多不同的方式使用它们。
字符串就是一系列字符。在Python中,用引号括起的都是字符串,其中的引号可以是单引号,也可以是双引号,如下所示:
"Thisisastring."
Thisisalsoastring.
这种灵活性让你能够在字符串中包含引号和撇号:
Itoldmyfriend,"Pythonismyfavoritelanguage!"
"ThelanguagePythonisnamedafterMontyPython,notthesnake."
"OneofPythonsstrengthsisitsdiverseandsupportive