keep-loving-pythonのブログ

Pythonを愛し続けたいです(Pythonが流行っている限りですが。。。)

【Pythonしっかり学ぶ】関数の引数の値渡し、参照渡しのあたりは、あまり公式には説明したくないよう。Pythonの引数は、mutableな部分は変更できる。

関数の引数の値渡し、参照渡しのあたりは、あまり公式には説明したくないよう。

確認した結果

以下、古いリファレンスの引用。

自分なりの解釈

自分なりの解釈は、

  • 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]

参考にした記事

python.softmoco.com

iq.opengenus.org

コメント

コメントなどあれば、なんなり、お願いします。