06-可变和不可变类型--我是正经的知识

一、不可变类型

  1、what:值改变,id也改变,证明产生了新的值,原有的值并未发生改变

  2、哪些数据类型是不可变的?

    1、整型

>>> a = 10
>>> id(a)
263178304
>>> a = 11
>>> id(a)
263178320

   2、浮点型

>>> a = 1.2
>>> id(a)
23034736
>>> a = 2.2
>>> id(a)
23034880

   3、字符串

>>> a = 's'
>>> id(a)
22954208
>>> a = 'x'
>>> id(a)
22796288

  4、总结:布尔类型、字符串、整型、浮点型被设计成一个不可分割的整体,属于不可变类型

二、可变类型

  1、what:值改变,id不变,证明改的是原值

  2、可变类型有哪些? 

    1、列表类型:列表的id不会变化,但是元素的对应的id会发生变化

>>> l = [111,222,333]
>>> id(l),id(l[0])
(26891496, 263179920)
>>> l[0] = 555
>>> id(l),id(l[0])
(26891496, 27266160)

    2、字典类型:字典的id不会变化,但是key对应的值的id发生变化

      注意:字典的key必须是不可变类型

>>> dic = {"name":"egon","age":18}
>>> id(dic),id(dic["name"])
(23219408, 27314272)
>>> dic["name"]="alex"
>>> id(dic),id(dic["name"])
(23219408, 27312768)

 

posted @ 2020-03-06 14:31  微信搜索-程序媛小庄  阅读(184)  评论(0编辑  收藏  举报