变量存储在内存中的值,这就意味着在创建变量时会在内存中开辟一个空间。基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符。
简单分析,变量是由三个部分组成:标识、类型和值
代码如下:
# 定义变量
name = 'test'
# 获取变量内存地址
print('标识',id(name))
# 获取变量数据类型
print('类型',type(name))
# 获取变量的值
print('值',name)
响应结果如下:
标识 1738221576576
类型 <class 'str'>
值 test
如果重新对name这个变量进行赋值会怎么样?下面试试看:
# 重新赋值
name = 'test001'
# 获取变量内存地址
print('标识',id(name))
# 获取变量数据类型
print('类型',type(name))
# 获取变量的值
print('值',name)
响应结果如下:
标识 2263746176536
类型 <class 'str'>
值 test001
画个图来描述下细节,便于理解赋值的原理 重新赋值之后,name这个变量指向的内存地址从 1738221576576 变成了 2263746176536,指向了新的内存空间;同时原来内存地址为1738221576576,已经变成了内存中的垃圾,会由python 垃圾回收机制去回收。
全部评论