0
私はPythonの関数が参照渡しされていることを言われたが、ここでのように、元のdata
が変更された例Python関数は参照渡しですか?
def append_element(some_list, element):
some_list.append(element)
data = [3, 1, 2]
append_element(data, 4)
print(data)
[3,1,2,4]
です。 Pythonの機能が実際に参照渡しされている場合はどのような私は混乱して感じさせることは、なぜこの関数呼び出しsorted()
後、data
は
y = sorted(data)
print(y)
[1,2,3,4]
print(data)
[3,1,2,4]
変化しなかったのか?
Pythonは参照渡しではありません。 – user2357112
私は「データ解析のためのPython for Python」を付録390ページを読んでいました。また、参照渡しでない場合、最初の例を説明する方法は? – ftxx
Pythonは最近、かなり一般的なパラメータ渡しモデルを使用していますが、名前はまだありません。これは、「オブジェクトによる呼び出し」または(特にJavaの場合)「値渡し」と呼ばれることもありますが、渡す値は実際には参照値であることに留意する必要があります。私は通常、次の説明に人々を指します:http://nedbatchelder.com/text/names.html – user2357112