今天我参加了计算机科学课,老师在板子上放了一段python编码,并说他不知道为什么它不工作。他向我们展示的功能,说:Python函数是否修改它们的参数?
def app(x):
x.append(" ")
print(x)
def ext(x,y):
x.extend(y)
print(y)
nums = [1,2,3,4,5,6]
numbers = [7,8,9,10]
app(nums)
ext(nums,numbers)
print("End of program")
的代码是为了展示如何,当你不输入
return x
在功能
那么当您返回到该变量不发生变化主程序然而,当他跑的程序,首先添加函数的空间,并保持它存在时,它返回导致下面的文本正在印刷...
['1','2','3','4','5','6',' ']
['1','2','3','4','5','6',' ','7','8','9','10']
End of program
请帮助我。
到底是什么问题? – 2014-10-09 21:37:07
您正在操作'nums'和'x'引用的对象。你并没有操纵'x'指的是什么。如果你的手指指向月亮(而不是月亮本身),那么你没有改变你的手指指向的地方,而是实际上跟着手指并在月球上划上了一面旗帜。 – 2014-10-09 21:38:07
你需要一个更好的老师......一个对象和对该对象的引用之间的区别(实际上是在这个示例中传递的)是非常非常基本的。 – Cameron 2014-10-09 21:38:33