变量

阅读 36

编写程序时,可以直接操作值。比如:

>>> print(1+2+3)
6

但是计算结果不能继续使用,如果需要计算 1+2+3+4 的值,就只能全部从头开始计算。这时,就需要使用一个叫 “变量” 的东西。变量可以用来存储计算结构或者存储值。得益于动态类型,Python 中的变量不需要指定类型。

>>> a = 1 + 2
>>> a
3
>>> b = a + 3
>>> b
6
>>> c = b + 4
>>> c
10

每一步计算得到的值存储在一个变量中,用到的时候直接使用变量就能得到相应的值。

类型可变

Python 程序在运行时会动态的获取当前对象的类型,这些类型可以是 整型、浮点型、字符串等等。当给变量赋值的时候,变量也就获得了类型,而且变量的类型是可变的,比如给变量 a 设置整型值 1 之后,给变量 a 设置浮点数值 2.0 ,a 的类型就编程浮点型了(具体数字类型的介绍,在下一节数字类型会讲到)。

>>> a = 1
>>> type(a)
<class 'int'>
>>> a = 2.0
>>> type(a)
<class 'float'>

命名规范

一般以“小写字母或者下划线”开头,接着是有限个“小写字母或者下划线或者数字”。就是说不能以数字开头。比如a、a1、a_1、_a都是合法的变量名,但是 1a 不行。

>>> a = 1
>>> a1 = 1
>>> a_1 = 1
>>> _a = 1
>>> 1a = 1
  File "<stdin>", line 1
    1a = 1
     ^
SyntaxError: invalid syntax

中文也是合法的标量名称,但是并不推荐使用中文作为变量名称。

>>> 变量 = 1
>>> 变量
1

Python 变量是大小写敏感的,比如 a 和 A 是两个变量,ab 和 Ab 是两个变量。并且变量不能包含空格。

常量

和变量对应的是常量,常量是设定了值就不能修改的。一般用全大写来表示,但是没有强制规范不能修改。Python 有一些内置的常量。主要有 True(真)、False(假)、None(空)。

Python 关键字

Python 有 35 个关键字,这些关键字不能用作变量名称。用户应该熟记这些关键字,以及使用方法。本教程中在用到的关键字的时候会做介绍的。

Python 自带 “keyword” 模块,可以用来监测是不是关键字。

>>> import keyword
>>> keyword.iskeyword('list')
False
>>> keyword.iskeyword('and')
True
>>> keyword.iskeyword('if')
True
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']