python变量存在于内存中吗_python中变量内存图:

可变数据类型:值发生改变时,内存地址不变,即id不变,证明在改变原值

不可变类型:值发生改变时,内存地址也发生改变,即id也变,证明是没有在改变原值,是产生了新的值

数字类型:

>>> x = 10

>>> id(x)

1830448896

>>> x = 20

>>> id(x)

1830448928

# 内存地址改变了,说明整型是不可变数据类型,浮点型也一样

字符串

>>> x = "Jy"

>>> id(x)

938809263920

>>> x = "Ricky"

>>> id(x)

938809264088

# 内存地址改变了,说明字符串是不可变数据类型

列表:

>>> list1 = ['tom','jack','egon']

>>> id(list1) 486316639176

>>> list1[2] = 'kevin'

>>> id(list1) 486316639176

>>> list1.append('lili')

>>> id(list1) 486316639176 # 对列表的值进行操作时,值改变但内存地址不变,所以列表是可变数据类型

元组

>>> t1 = ("tom","jack",[1,2])

>>> t1[0]='TOM' # 报错:TypeError

>>> t1.append('lili') # 报错:TypeError # 元组内的元素无法修改,指的是元组内索引指向的内存地址不能被修改

>>> t1 = ("tom","jack",[1,2])

>>> id(t1[0]),id(t1[1]),id(t1[2]) (4327403152, 4327403072, 4327422472)

>>> t1[2][0]=111 # 如果元组中存在可变类型,是可以修改,但是修改后的内存地址不变 >>> t1 ('tom', 'jack', [111, 2])

>>> id(t1[0]),id(t1[1]),id(t1[2]) # 查看id仍然不变 (4327403152, 4327403072, 4327422472)

字典

>>> dic = {'name':'egon','sex':'male','age':18}

>>> >>> id(dic) 4327423112

>>> dic['age']=19

>>> dic {'age': 19, 'sex': 'male', 'name': 'egon'}

>>> id(dic) 4327423112 # 对字典进行操作时,值改变的情况下,字典的id也是不变,即字典也是可变数据类型

九 数据类型总结

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值