Python での参照による受け渡し: 概要と回避策
Python ではすべてが値によって渡されると想定されていることが多く、プログラマーは疑問に思っています。参照渡しする方法がある場合。この記事では、参照によって整数を関数に渡す際の複雑さを調査し、実用的な回避策を提供します。
整数の不変性
Python の pass-by と比較したくなるかもしれませんが、 Java の参照型の参照渡しに対する値の動作を変えるには、Python では整数は不変であることに注意することが重要です。これは、整数の値を直接変更できないことを意味します。
回避策: コンテナの使用
解決策の 1 つは、リストなどのコンテナ内で整数を渡すことです。変更される。たとえば、次のコードを考えてみましょう。
def change(x): x[0] = 3 x = [1] change(x) print(x)
ここでは、整数がリストにラップされ、変更関数に渡されます。関数内で、リストの要素が変更され、元の整数が効果的に変更されます。
変更された値を返す
もう 1 つのアプローチは、関数に変更された値を返すことです。これを元の変数に割り当てることができます。これを以下に示します。
def multiply_by_2(x): return 2*x x = 1 x = multiply_by_2(x)
この場合、multiply_by_2 関数は変更された値を返し、それが x に格納されます。
ベスト プラクティス
上記の回避策により参照渡しの動作をエミュレートできますが、次のベスト プラクティスを考慮することが重要です。
以上がPython で整数を参照渡しできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。