gpt4 book ai didi

Python分号确实有所作为

转载 作者:太空狗 更新时间:2023-10-29 20:49:39 24 4
gpt4 key购买 nike

为什么使用冒号会影响结果?正确的结果应该是什么?

# Not stored in a different location.
>>> id('123 4')== id('123 4')
True

# Also returns true
>>> x = '123 4'; y ='123 4'; id(x) == id(y)
True

但同样的事情返回 false。

>>> x = '123 4'
>>> y = '123 4'
>>> id(x) == id(y)
False

同样的事情在函数下返回True

>>> def test():
... x = '123 4';y='123 4'; print (id(x)==id(y))
... a = '123 4'
... b='123 4'
... print (id(a)==id(b))
...
>>> test()
True
True

最佳答案

>>> x="123 4";y="123 4"

Python 足够聪明,可以识别两个变量获得相同的值(因为它们在同一行中被解释),因此将该值存储在相同的内存位置(即 id(x) == id( y)).

但是

>>> x="123 4"
>>> y="123 4"

Python 不够聪明,无法意识到它们是相同的值(因为它们是在不同的行上解释的),因此将每个存储在自己的内存位置(即 id(x) != id(y )).

关于Python分号确实有所作为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28883858/

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