gpt4 book ai didi

python byRef//复制

转载 作者:太空狗 更新时间:2023-10-29 22:07:03 26 4
gpt4 key购买 nike

我是 Python 的新手(而且对编程了解不多),但我记得读过 python 通常不复制值,因此任何语句 a = b 都会使 b 指向 a。如果我跑

a = 1
b = a
a = 2
print(b)

给出结果 1。那不应该是 2 吗?

最佳答案

不是,结果应该是1。

将赋值运算符 ( = ) 视为引用的赋值。

a = 1 #a references the integer object 1
b = a #b and a reference the same object
a = 2 #a now references a new object (2)
print b # prints 1 because you changed what a references, not b

在处理 可变 对象(如 lists)和 不可变 对象(如 intfloattuple

现在考虑以下代码:

a=[]  #a references a mutable object
b=a #b references the same mutable object
b.append(1) #change b a little bit
print a # [1] -- because a and b still reference the same object
# which was changed via b.

关于python byRef//复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11690220/

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