gpt4 book ai didi

python - 在 Python 中创建两个具有相同值的不可变对象(immutable对象)

转载 作者:太空宇宙 更新时间:2023-11-03 14:32:35 24 4
gpt4 key购买 nike

在 Python 中是否可以创建两个具有相同值的不可变对象(immutable对象)?

为了让你明白我的意思,这里有一些例子:

>>> a = 13
>>> b = 13
>>> a is b
True


>>> a = 13
>>> b = 26/2
>>> a is b
True


>>> a = 13
>>> b = int.__new__(int, 13)
>>> a is b
True


>>> a = 13
>>> b = int("13")
>>> a is b
True

是否可以创建具有相同值的 aba is b 返回 False ?刚刚学习....:D

最佳答案

当然,只要选择一个太大而无法缓存的值:

>>> a = 256
>>> b = 256
>>> a is b
True
>>> a = 257
>>> b = 257
>>> a is b
False
>>> a = "hey"
>>> b = "hey"
>>> a is b
True
>>> a = "hey!"
>>> b = "hey!"
>>> a is b
False

只有小整数和短字符串会被缓存(这是依赖于实现的,所以你不应该依赖它)。 is 应该只用于测试对象身份,绝不能用于测试相等性

关于python - 在 Python 中创建两个具有相同值的不可变对象(immutable对象),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8158837/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com