Python では、整数は不変です。つまり、一度作成された整数の値は変更できません。これにより、整数を参照渡しして、関数内で行われた変更を元の変数に反映できるようにする方法という問題が生じます。
可変コンテナの受け渡し
整数を参照によって直接渡すことはできません。リストなどの可変コンテナーで渡すことができます。
def change(x): x[0] = 3 x = [1] change(x) print(x)
出力:
[3]
この例では、単一の要素を含むリスト x を作成します。次に、x を変更関数に渡し、インデックス 0 の値を変更します。リストは変更可能であるため、この変更は関数が戻った後も持続します。
新しいオブジェクトを返す
もう 1 つのオプションは、関数からの変更された値を持つ新しいオブジェクトを返すことです。
def multiply_by_2(x): return 2 * x x = 1 x = multiply_by_2(x)
この場合、multiply_by_2 関数は 2 倍の値を持つ新しいオブジェクトを返し、それが x に割り当てられます。 。元の整数 x は変更されません。
ベスト プラクティス
関数に整数を渡すときは、次のベスト プラクティスを考慮してください。
以上がPython で関数に渡される整数を変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。