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

Posted kathrine

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)

 

以上是关于06-可变和不可变类型--我是正经的知识的主要内容,如果未能解决你的问题,请参考以下文章

Scala基础知识

Python 基础知识点的个人理解

python可变类型和不可变类型

字符串详解:整型可变数据类型和不可变数据类型进制转换索引切片步长字符串方法进制转换

Python的可变和不可变类型

python可变类型和不可变类型