ホームページ > バックエンド開発 > Python チュートリアル > Python 変数: 参照またはポインター?

Python 変数: 参照またはポインター?

Barbara Streisand
リリース: 2024-12-04 17:40:12
オリジナル
494 人が閲覧しました

Python Variables: References or Pointers?

Python 変数の理解: 参照とポインター

Python の変数は単にポインターであると一般的に想定されています。ただし、より深く理解すると、これが完全に正確ではないことがわかります。

次のコード スニペットを考えてみましょう:

i = 5
j = i
j = 3
print(i)
ログイン後にコピー

変数がポインターであるという仮定に基づいて、出力は次のようになると予想されます。ここでは、j に格納されているポインタが再割り当てされていると仮定します。ただし、実際の出力は 5 です。

この矛盾を解決するには、Python の変数は従来の意味でのポインターではないことを認識することが重要です。代わりに、それらはメモリ内のオブジェクトへの参照として機能します。

Python の参照

参照は、オブジェクトを指すメモリの場所です。整数のようなプリミティブ データ型 (i = 5 など) の場合、変数には実際の値が格納されます。ただし、リストのような変更可能なオブジェクトの場合 (i = [1,2,3] など)、変数はオブジェクトへの参照をメモリに保存します。

オブジェクト タイプに基づく動作

新しい変数 (例: j) に既存の変数 (例: i) への参照が割り当てられると、両方の変数は同じ基礎となるオブジェクト。いずれかの変数を通じて行われた変更は両方に反映されます。

リストの例

コード スニペットを考えてみましょう。

i = [1,2,3]
j = i
i[0] = 5
print(j)
ログイン後にコピー

この場合、出力は [5,2,3] です。これは、インデックス 0 のリスト要素が i によって変更されると、両方とも同じリストを参照するため、その変更が j にも反映されることを示しています。

結論

Python の変数は、ポインターではなく参照として機能します。これらにより、複数の変数が同じオブジェクトを指すことができるため、データの共有と効率的なメモリ使用が可能になります。この概念を理解することは、Python で効果的にプログラミングするために不可欠です。

以上がPython 変数: 参照またはポインター?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート