相关疑难解决方法(0)

为什么两个单独创建的不可变对象具有相同的 id 而可变对象具有不同而它们都引用相同的值?

两个单独创建的可变列表具有不同的 ID。

Python外壳:(可变)

>>> mylist = ['spam', 'eggs']
>>> yourlist = ['spam', 'eggs']
>>> id(mylist), id(yourlist)
(49624456, 48910408)
Run Code Online (Sandbox Code Playgroud)

虽然两个单独创建的不可变字符串具有相似的 id。

Python外壳:(不可变)

>>> a = 10
>>> b = 10
>>> id(a), id(b)
(507099072, 507099072)
Run Code Online (Sandbox Code Playgroud)

ab引用同一个对象?如果不是,为什么 id 是相似的?是mylistyourlist引用不同的对象吗?如果是,为什么他们有不同的 id。

python immutability identifier concept mutability

4
推荐指数
1
解决办法
984
查看次数

标签 统计

concept ×1

identifier ×1

immutability ×1

mutability ×1

python ×1