【发布时间】:2016-01-08 02:51:55
【问题描述】:
我来自 C++ 背景,所以这个问题对我来说似乎有点荒谬: 假设我有一个函数:
def scale(data, factor):
for val in data:
val *= factor
这不能按预期工作,如果我传递一个列表,它不会改变任何东西,但是
def scale(data, factor):
for index, val in enumerate(data):
data[index] *= factor
和lst = [val * factor for val in lst] 正常工作。
Python 如何处理参数传递?我如何知道是否传递了实际引用或别名?
【问题讨论】:
标签: python python-3.x parameter-passing