関数の引数の値渡し、参照渡しのあたりは、あまり公式には説明したくないよう。
確認した結果
以下、古いリファレンスの引用。
自分なりの解釈
自分なりの解釈は、
- by valueと書かれていたりのするが、それは他の言語とちょっと言葉が整合しない気がする。
- by valueにしろ、by referenceにしろ、言い方は別として、Pythonでは、mutableな要素は関数側で変更できる。
- もう一度繰り返すと、Pythonの引数は、mutableな部分は変更できる、状態にある。
例
yobi_a = [1,2] yobi_b = [10,20] def func1(yobare_a, yobare_b): yobare_b[1] = yobare_a[1] func1(yobi_a, yobi_b) print(yobi_b) #out [10, 2]
参考にした記事
コメント
コメントなどあれば、なんなり、お願いします。