python变量定义
python编程语言中,变量不需要定义数据类型,可以任意赋值使用。
value = 123
print(f"value的值是:{value}")
int value = 123
printf("value的值是:%d", value)
对比可以看到,在C语言中,要定义一个变量,必须定义变量的类型。
python变量定义的底层逻辑
value = 123
该语句的执行逻辑如下。
- 在内存中创建一个存放 123 数值的存储空间。
- 使用一个对象名称为 value的标签 来标识上一步创建的存储空间。
所以,value的值是多少跟初始化定义的内容不是绝对关系,要看把value这个标签贴到(指向)哪块内存上。
关于变量定义的深度理解
我们来看下面代码的执行结果:
a = 30
b = 30
print(f"id(a) = {id(a)}\nid(b) = {id(b)}")
“为什么明明定义两个数据,为什么存储空间是相同的”
在python 中有以下规范:
- 先定义数据,再赋值给变量名称。
- 当定义的整型数据int范围在[-5,256],系统会根据是否相同,来考虑是否指向同一片内存而不另外开辟一个内存空间,这样的目的是为了减少内存开销。