【Python】変数に値を代入する

【Python】変数に値を代入する

以下の見出しから詳細にジャンプしてご覧ください。

基本的な代入

Pythonでは、変数に値を代入するには、= を使用します。左辺に変数名、右辺に値を記述します。

x = 10
name = "Alice"
is_active = True

この例では、x に整数の 10name に文字列の "Alice"is_active に論理値の True を代入しています。

複数同時代入

Pythonでは、複数の変数に同時に値を代入できます。

a, b, c = 1, 2, 3

ここでは、a1b2c3 を代入しています。同じ値を複数の変数に代入することも可能です。

x = y = z = 0

この場合、xyz の全てに 0 が代入されます。

値のスワップ(入れ替え)

Pythonでは、一時変数を使わずに2つの変数の値を簡単に入れ替えることができます。

x, y = 5, 10
x, y = y, x
print(x, y)  # 出力: 10, 5

シーケンスのアンパッキング

リストやタプルなどのシーケンスの値を複数の変数に代入することができます。

numbers = [1, 2, 3]
a, b, c = numbers
print(a, b, c)  # 出力: 1 2 3

また、アンパッキング時に「残りすべて」を特定の変数に代入することも可能です。

numbers = [1, 2, 3, 4, 5]
a, *b, c = numbers
print(a, b, c)  # 出力: 1 [2, 3, 4] 5

ミュータブルとイミュータブルの違い

Pythonのデータ型は、ミュータブル(変更可能)なものとイミュータブル(変更不可能)なものに分類されます。

例:

  • イミュータブル: 整数、浮動小数点数、文字列、タプル
  • ミュータブル: リスト、辞書、集合
x = [1, 2, 3]
x[0] = 10  # リストの変更は可能
y = "hello"
y[0] = "H"  # 文字列の変更はエラー

コピーと参照の違い

Pythonでは、オブジェクトを代入する際に、実際には参照がコピーされます。そのため、1つのオブジェクトを変更すると、他の参照先にも影響を及ぼします。

original = [1, 2, 3]
copy = original
copy[0] = 100
print(original)  # 出力: [100, 2, 3]

これを防ぐためには、copy() メソッドや copy モジュールを使用します。

高度な代入テクニック

Pythonには、代入をより効率的に行う方法がいくつかあります。

条件付き代入

x = 10 if condition else 20

これは、condition が真の場合に x10、偽の場合に 20 を代入します。

代入式(ウォルラス演算子)

Python 3.8以降では、:= を使用して代入と評価を同時に行うことができます。

if (n := len(data)) > 10:
    print(f"データが多すぎます: {n}")

以上がPythonでの変数への値の代入についての詳細な解説です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です