今天我參加了計算機科學課,老師在板子上放了一段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