gpt4 book ai didi

python - 参数 : passed by reference vs passed by name

转载 作者:太空宇宙 更新时间:2023-11-04 11:00:31 25 4
gpt4 key购买 nike

按引用传递和按名称传递的参数传递模式有什么区别这里是 Python 中的一个示例,但假设我们不使用任何 Python 规则:

def P(x,y)
global i
y=1
print(x)
i=2
print(x,y)
i=0
a = [7,11,13]
P(a[i],i)
P(i,a[i])

所以这里通过引用传递参数将给出输出:

  • 7
  • 7, 2
  • 2
  • 2, 1

如有错误,敬请谅解。

按名称传递表示我们只是应用文本替换,但我仍然对如何使用按名称调用获取输出感到困惑。有帮助吗?

这是我通过名称传递得到的结果:

  • 7
  • 11, 2
  • 2
  • 2, 1

正确吗?

最佳答案

在 Python 中,您有可变或不可变的对象。所有名称都是对对象的引用。换句话说,一切都是引用。您不会在 Python 中“按值传递”。只有通过引用传递。如果您尝试修改不可变对象(immutable对象)(例如数字或字符串),您会自动获得一个新副本。您可以返回该新值。如果你传递一个可变对象(例如 list 或 dict),对象被修改,你不必返回它。如果你不想,你应该先复制你的对象。您可以为此使用 dict.copy()list[:] 语法。

关于python - 参数 : passed by reference vs passed by name,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5940533/

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