在Python中传递值
在Python中传递值
这个问题已经在这里有了答案:
当你在Python中将像列表、数组这样的集合传递给另一个函数时,它是创建了一个副本,还是仅仅是一个指针?
admin 更改状态以发布 2023年5月20日
事实上,整个引用/值概念无法适用于Python。Python没有变量的“值”,它只有对象和引用对象的名称。
因此,当您调用函数并将“名称”放在括号内时,如下所示:
def func(x): # defines a function that takes an argument ... # do something here func(myname) # calling the function
传递的是实际的对象,而不是myname
本身。在函数内部,给出另一个名称(x
)以引用传递的同一对象。
如果对象是可变的,则可以在函数内部修改对象,但是您不能更改外部名称指向的内容,就像执行以下操作时一样:
anothername = myname
因此,我可以回答您的问题:
它是“传递值”,但所有值只是对象的引用。