ホームページ >バックエンド開発 >Python チュートリアル >Python の変数と代入の図
この記事では主に Python の変数と代入の図を紹介しますので、参考にしてください。一緒に見てみましょう
Python は C 言語とは大きく異なる独特な言語です。Python を初めて使用する人の多くは、変数や代入が理解できないと言います。参考にしてください
Python は C 言語とは大きく異なる独特な言語です。Python を初めて使用する人の多くは、変数に値を代入するときに変数と代入が理解できないと言います。 、最初にデータ型を指定する必要があり、値を保存するために使用されるメモリ領域も開くことになります。例:
int a = 1;
a は、メモリ空間内の小さな領域です。大きな部屋に小さな箱を置き、その箱に整数 1 の荷重を入れるという課題があります。
今度は変数 a を再割り当てします
a = 2;
ボックスは同じボックスのままです。これは、メモリアドレスは変更されていませんが、メモリ内の値が変更され、2になったことを意味します。
もう一度見てください:
int b = a;
変数aを別の変数bに代入するとき、それは値をコピーして新しく開かれたメモリ領域である変数bに渡すことと同じです
In Python では、「変数」の厳密な名前は「name」ですが、これはラベルとしても理解できます。私たちの名前と同じように、名前はその人に付けられたラベルです。
>>> 10-a Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'a' is not defined
たとえば、上記のエラー メッセージは、名前 'a' が定義されていないが、変数と呼ばれていないことを示しています。
Python では、変数に値を割り当てることは、人に名前を付けるのと同じように、オブジェクトにラベルを付けることと同じです。変数自体には型情報がなく、実際の情報はオブジェクト内にあります。
例:
a = 1
内部的には、Python はまず整数オブジェクト 1 を作成するためにメモリ空間を割り当て、次にこの 1 に a という名前のラベルを付けます。
次に
a=2
を実行すると、Python は別のメモリ領域に整数オブジェクト 2 を作成し、ラベル a を 1 から剥がして 2 に貼り付けます。この時点では、もう使用できません。 aから値1を取得しました。
今度は、名前 a を別の名前 b に割り当てます
b = a
これは、先ほどの 2 に新しいラベル b を付けるのと同じであることに注意してください。 b を定義するときにメモリ領域を割り当てる必要はありません。この方法では、赤ちゃんに名前を付けるときと同じように、2 にアクセスできます。 , しかし、それらはすべて同じ人物を指します。
私たちは通常、Python で「変数」という名前を使用しますが (これはプログラミング言語で一般的な名前であるため)、Python の変数は他の言語とは異なることを理解する必要があります。変数は単なる名前です。
Python の変数と代入を理解した後、以下に示すように、関数のパラメーターの受け渡しを見てみましょう:
>>> def fun_a(a): ... a = a+4 ... >>> g = 0 >>> fun_a(g) >>> g 0
グローバル変数 g が関数 fun_a に渡される場合、それは次と等価です。関数のパラメータ a はラベルとして 0 に付けられ、次に a が再割り当てされます (a=a+4)。これは 0 からラベル a を剥がして 4 に付けるのと同じで、その後 g は次のようになります。ラベルはまだ 0 です。
この関数をもう一度見てください。渡されるのはリストオブジェクトです
>>> def fun_b(names): ... names[0] = ['x', 'y'] ... >>> n_list = ['a','b','c'] >>> fun_b(n_list) >>> >>> n_list [['x','y'], 'b', 'c']
これは前のステップと同じで、namesとn_listは両方とも['a','b'です。 ,'c' ] では、リストの 0 番目の要素のみが再割り当てされていますが、名前と n_list はリスト オブジェクトにまだ付加されています。n_list の値は更新されていますが、オブジェクトは元のオブジェクトのままです。まるで、チャン・サンとシャオ・ザンが同じ人物のようです。シャオ・ザンの服を着替えると、実際にはチャン・サンの服を着替えることになります。しかし、彼の身に着いているものは変わりました。
関連する推奨事項:
Python 変数の割り当ての詳細なステップバイステップ説明
以上がPython の変数と代入の図の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。