重新思考 Python 变量:指针还是引用?
在 Python 编程世界中,变量通常被描述为“指针”。然而,这引发了有关这些变量行为的问题。考虑以下代码片段:
i = 5 j = i j = 3 print(i)
基于“指针”假设,代码运行后可能预期 i 的值为 3。然而,实际结果是 5。
这是怎么回事?
理解 Python 引用
在 Python 中,变量的作用与指针不同。相反,它们充当参考。引用将变量连接到对象。当您将一个变量分配给另一个变量时,您正在创建对同一对象的引用。
这意味着在第一个代码片段中,i 和 j 是对同一整数对象 (int(5)) 的引用。当 j 的值更改为 3 时,将创建一个新的整数对象 (int(3)),并且 j 成为对其的引用。但是,i 仍然是对原始整数对象 int(5) 的引用。
第二个代码片段用列表说明了此行为:
i = [1,2,3] j = i i[0] = 5 print(j)
在这种情况下,i 和 j 是两者都引用同一个列表对象。当 i[0] 被修改时,列表对象本身也被改变,所以 i 和 j 仍然引用同一个列表。
结论
Python 变量不是指针,而是参考。它们建立与对象的连接,当变量的值更改时,它会影响对象本身。这解释了代码片段中出现的意外结果,并作为理解 Python 变量行为的基本概念。
以上是Python 变量:指针还是引用?的详细内容。更多信息请关注PHP中文网其他相关文章!