变量
在计算机程序中,变量不仅可以是数字,还可以是任意数据类型。
语法: 变量名 = 任意数据类型的数据
变量在程序中就是用一个变量名表示了,变量名必须是大小写英文、数字和_的组合,且不能用数字开头,比如:
a = 1
这句话的意思是把整数1,赋值给变量a
所以变量a现在是一个整型,他的值是1
t_007 = 'T007'
把'T007',赋值给变量t_007
所以变量t_007是一个字符串,他的值是'T007'
Answer=True
把True,赋值给变量Answer
所以变量Answer是一个布尔值,他的值是'True'
在Python中包含=的是赋值语句,表示把右边任意数据类型的值复制给左边的变量
a = 123 # a是整数
print(a) # 结果显示123
a = 'ABC' # a变为字符串
print(a) # 结果显示ABC
运行结果:

赋值运算符的左边,表示的是一个变量名,而右边,可以是任何没有逻辑和语法错误的数据计算,例如:
x = 1
print(x) # x的值为1
x = x + 2 # 当前行代码可以看成 x = 1 + 2 ,把(1+2)的结果重新赋值给x
print(x) # x的值为3
运行结果:

a = `ABC` 时,Python解释器为我们干了两件事:
- 在内存中创建了一个'ABC'的字符串;
- 在内存中创建了一个名为
a的变量,并把它指向'ABC' 问题:控制台打印便令b,得到的结果是什么,为什么?
a = 'ABC'
b = a
a = 'XYZ'
print(b)

运行结果:'ABC'

让我们来一行一行分析一下Python解释器都干了什么
执行第一行a = 'ABC',解释器创建了字符串'ABC',和变量a,并把变量a指向了'ABC'

执行第一行
b=a,解释器创建了变量b,并把b指向a,发现a也是指向字符串,所以直接指向a指向字符串ABC
执行
a = XYZ,解释器创建了字符串XYZ,并把a的指向改为XYZ,但b并没有影响
所以打印变量b,还是字符串ABC
这种变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言。
静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错。例如Java是静态语言,赋值语句如下(// 表示注释与python#功能一致):
int i = 0 //定义数据类型为整型,把数值0赋值给整型变量i
str = 'ABC' //这样书写、在静态语言中会报错
常量
常量指的就是不能变的量,比如一周只有7天,数学中的π。在Python中,通常用全部大写的字符来表示常量,例如:
PAI = 3.14159265359
但事实上PAI仍然是一个变量,Python根本没有任何机制保证PAI不会被改变,所以,用全部大写的变量名表示常量只是一个习惯上的用法,如果你一定要改变变量PAI的值,也没人能拦住你。