Python的xiao习-05基础知识2-变量&常量

173 阅读3分钟

变量

在计算机程序中,变量不仅可以是数字,还可以是任意数据类型。

语法: 变量名 = 任意数据类型的数据

变量在程序中就是用一个变量名表示了,变量名必须是大小写英文、数字和_的组合,且不能用数字开头,比如:

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解释器为我们干了两件事:

  1. 在内存中创建了一个'ABC'的字符串;
  2. 在内存中创建了一个名为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的值,也没人能拦住你。