Python : provable(变量)
变量的意义:存储数据在内存中,用来在后边进行调用
定义一个变量:
name = 'Lizi'
上述代码中,变量名为name,变量值为Lizi
调用变量:
print('My name is' ,name)
执行结果为
My name is Lizi
变量的命名规范:
- 变量名只能是字母,数字或下划线的任意组合
- 变量名不支持数字开头
- python支持中文变量名,但不要这样做
- 变量名要起的有意义,不应该出现a,b,c,a1,b1,xingming,nianling类似这种变量名
- 以下python关键字不能作为变量名 ['and','as','assert','break','class','coutinue','def','del','elif','else','except','exec','finally','from','for','global','if','import','in','is','lambda','not','or','pass','print','raise','return','try','while','with','yield']
变量的赋值:
name = 'Lizi' name2 = name print('My name is ',name,name2) name = 'Sqlserver' print(name,name2)
以上代码执行结果为:
My name is Lizi Lizi sqlserver Lizi
那么问题来了,既然name2 = name,为什么第二个print输出name2的值还是Lizi呢?
原因是这样的,第一个name的值为Lizi,也就是说第一个name变量指向的内存地址为Lizi,此时紧接着name2 = name,相当于把name2也指向Lizi这个内存地址
然后第二次重新赋name的值为Sqlserver,此时仅仅是把name的内存地址指向从Lizi变为Sqlserver而已,并没有改变name2的指向,所以name2的值还是Lizi
在c语言中有不可变的量也就是常量这个概念,但是Python中并没有常量这个概念
如果我们想定义一个不要去改动的变量怎么做呢?
NAME = 'Lizi'
将变量名全部大写,即表示这是一个常量,不应该去修改它
这个变量可以改吗?可以改的,只是因为Python没有定义常量的关键字,所以约定成俗变量名全部大写即代表不应该去修改的变量