5. 变量和常量

5.1 变量

先来说什么是变量。
在 Python 中,变量可以理解成一个“盒子”,里面可以存放各种数据,而变量名就是这个盒子的名字。

例如,输入下面的代码:

a = "这是字符串"

这里变量 a 中存放的是一个字符串。

我们可以用 print() 把它打印出来:

a = "这是字符串"
print(a)

运行后会输出:

这是字符串

变量 a 的值还可以赋给另一个变量 b,例如:

a = "这是字符串"
b = a
print(b)

运行后,b 的内容和 a 一样,也会输出:

这是字符串

接下来,我们来改变 b 的值:

a = "这是字符串"
b = a
b = 1
print(a)
print(b)

运行结果是:

这是字符串
1

这说明:
虽然一开始 b 得到了 a 的值,但后来把 b 改成了 1,并不会影响 a 的值,所以 a 仍然是原来的字符串。


5.2 常量

在 Python 中,严格来说并没有像其他一些编程语言那样“真正不能修改”的常量。
也就是说,Python 不会强制某个名字的值永远不能改变。

但是,在编写程序时,我们通常会把不希望被修改的值当作常量来使用。
为了和普通变量区分,大家一般会用全大写字母来命名常量。

例如:

PI = 3.14159
NAME = "Python"

这里的 PINAME 通常被看作常量。
虽然从语法上来说,它们仍然可以被重新赋值,例如:

PI = 3.14159
PI = 3
print(PI)

运行后会输出:

3

这说明 Python 中的“常量”更多是一种书写习惯,用来提醒自己和别人:
这个值最好不要随意修改。

例如,圆周率通常不会改变,我们就可以把它写成常量:

PI = 3.14159
r = 2
area = PI * r * r
print(area)

运行后会输出圆的面积。


小结

  • 变量:用来保存数据,变量的值可以改变。
  • 常量:通常表示不希望被修改的数据,在 Python 中一般用全大写命名。
  • Python 中没有严格意义上完全不能修改的常量,更多是一种编码习惯。