1. 变量及基本数据类型
1.1 变量
简介
变量是能够储存或指代某个值的抽象概念。x=5中,x就是变量,5是给变量赋的值。在Python中,变量可以在任何时候都可以引用不同的值,包括不同类型的值。例如:
message = "Hello Python world!"
print(message)
message = "Python is my favorite language!"
print(message)
Hello Python world!
Python is my favorite language!
命名规则
- 变量只能包含字母,数字和下划线。变量名可以以字母或下划线开头,但不能以数字开头。
- Python区分变量命名的大小写,也就是说
A和a是两个变量。 - 变量名称中不允许使用空格,因此我们一般使用下划线代替空格。例如,使用
student_name而不是“ student name”。 - 不能将Python关键词 用作变量名。变量名应该是描述性的,不能太长。例如,
mc_wheels比仅仅是wheels或者number_of_wheels_on_a_motorycle要好。 -
1和0容易和字母l和o混淆,命名时要小心。
关键词:
False await else import pass None break except in raise True class finally is return and continue for lambda try as def from nonlocal while assert del global not with async elif if or yield
NameError
命名错误(NameError)这是我们在使用变量时可能会遇到的一个常见错误。下面是一个例子:
message = "I am glad to learn Python!"
print(mesage)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'mesage' is not defined
让我们看一下此错误消息。首先,我们看到它是一个NameError,表明该错误的类型。然后我们看到导致错误的文件File "<stdin>",绿色箭头向我们显示该文件中导致错误的行。然后,我们得到一些更具体的反馈,即is not defined。也就是说这个变量mesage在调用之前没有被定义。
这个错误的来源是,我们用了两种不同的方式拼写message。事实上,Python不会关心变量名“ message”或“ mesage”哪个是正确的, Python只关心变量名的拼写在每次使用时都匹配。而不同的拼写代表的也是不同的变量名。
我们可以通过确保所有变量名的拼写一致来修复NameErrors。