ホームページ >バックエンド開発 >Python チュートリアル >Python 変数はポインタですか、それとも参照ですか?

Python 変数はポインタですか、それとも参照ですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-05 05:20:09513ブラウズ

Are Python Variables Pointers or References?

Python 変数は参照ですか?

「Python の変数はポインターである」という概念は誤解を招く可能性があります。この誤解を明確にするために、2 つのコード例を調べてみましょう:

例 1:

i = 5
j = i
j = 3
print(i)

変数がポインターの場合、出力は 3 であると予想されます。 、実際の出力は 5 です。これは、Python 変数にはオブジェクトの実際の値ではなく、オブジェクトへの参照が格納されるためです。

例 2:

i = [1,2,3]
j = i
i[0] = 5
print(j)

最初の例とは異なり、ここでの出力は [5,2,3] です。今回は、i にバインドされたリストの最初の要素を変更すると、j にバインドされたリストにも影響します。これは、i と j の両方が同じリスト オブジェクトを参照しているためです。

Python 変数とは実際何ですか?

Python 変数を正しく理解するには、それらを ポインタではなく参照。変数に値を割り当てると、基本的にその変数をメモリ内の特定のオブジェクトにバインドすることになります。

参照とポインターの主な違いは、参照を別のオブジェクトを指すように再割り当てできないことです。代わりに、これらは元のオブジェクトに永続的にバインドされたままになります。

上記の例では、i と j はそれぞれ元の int(5) オブジェクトと list([1,2,3]) オブジェクトへの参照です。 i の値を変更しても、j は両方とも異なるオブジェクトを参照しているため、j には影響しません。ただし、リスト内の要素の値を変更すると、i と j の両方が同じリスト オブジェクトを参照しているため、両方に影響します。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。