Python文档似乎不清楚参数是通过引用还是值传递,以下代码生成未更改的值'Original'
class PassByReference:
def __init__(self):
self.variable = 'Original'
self.change(self.variable)
print(self.variable)
def change(self, var):
var = 'Changed'
Run Code Online (Sandbox Code Playgroud)
有什么我可以通过实际参考传递变量吗?
根据本教程,Python使用"Pass By Reference".
然后他们继续给出以下示例.在这个"通过参考传递"的星球上?它看起来像是一个明确的"通过价值"案例给我.
思考?
def changeme( mylist ):
mylist = [1,2,3,4];
print "Values inside the function: ", mylist
return
mylist = [10,20,30];
changeme( mylist );
print "Values outside the function: ", mylist
Run Code Online (Sandbox Code Playgroud)
参数mylist是函数changeme的本地.更改函数中的mylist不会影响mylist.该函数什么都不做,最后会产生以下结果:
# Values inside the function: [1, 2, 3, 4]
# Values outside the function: [10, 20, 30]
Run Code Online (Sandbox Code Playgroud)