変数とはなにか!!
- 変数とは値につけるニックネームのようなもの
- 明示的な値の代わりに変数を使うことができる
paiza
- 値にニックネームをつけることが代入
- 変数に代入したあとは、その変数を通してその値を扱うことができる
- 代入は「=」を使う
- 変数に代入するコード:
num = 5 s = "paiza" print(num) print(s)
- 演算結果を代入するコード:
num = 5 * 3 print(num)
- 変数の値を使って代入するコード:
num = 5 num_2 = num print(num_2) num_3 = num + 1 print(num_3)
変数への再代入
一度代入した変数に再度代入する事ができます。
これを再代入と言います。
再代入は、次のコードの様に書きます。
num = 1
print(num)
num = 2#ここで再代入している
print(num)
実行すると
1
2
出力されます。
一度用意した変数numの値が、再代入によって変わっていることがわかります。
再代入の際に、右辺に代入先の変数を置く事ができます。
例えば次の様なコードです。
num = 1
print(num)
num = num + 2
print(num)
実行すると
1
3
が出力されます。
変数numに2を足して変数numに再代入しています。
このタイプの再代入は次のコード様にして書く事ができます。
num = 1
nim += 2
print(nim)
実行すると
3
と出力されます。
累算代入演算子
演算子 例 説明 同じ意味
+= a += b aにa+bの結果を再代入する a = a + b
-= a -= b aにa-bの結果を再代入する a = a - b
*= a *= b aにa*bの結果を再代入する a = a * b
**= a**= b aにa**bの結果を際代入する a = a ** b
/= a / = b aにa/bの結果を再代入する a = a / b
//= a // = b aにa//bの結果を再代入する a = a // b
%= a % = b. aにa%bの結果を再代入する a = a % b
上の表のように、再代入します。
今度は、引き算から行なっていきます。
次の様なコードです。
num = 1
num -= 1 # num = num -1 と同じ意味
print(num)
実行すると
0
が出力されます。
次は、*演算子です。
コードは
num = 2
um *= 12 # num = num * 12 と同じ意味
print(num)
実行すると
24
と出力されます。
次は、/演算子です。
コードは
num = 2
num /= 2 #um = num / 2 と同じ意味
print(num)
実行すると
1.0
が浮動小数点数として表示されます。
次は、//演算子です。
コードは
num = 2
num //= 2 # um = num // 2と同じ意味。//の場合は、不動週数点数は切り捨て。
print(num)
実行すると
1
が出力されます。
次は、%演算子です。
コードは
num = 7
num %= 5 # num = num % 5 と同じ意味。
print(num)
実行すると
2
が出力されます。
次に、**演算子について解説します。
コードは
num = 5
num **= 2 # num = num ** 2 と同じ意味
pint(num)
実行すると
25
と出力されます。
最後にPythonは、再代入の際に肩に縛られないという特徴について学習しましょう。
コードで確認しましょう。
a = "paiza"
print(a)
a = 813
print(a)
実行すると
paiza
813
とエラーなく実行できました。
javaなどの型に厳格な言語では、この様な操作はできないので、これはPythonの一つの特徴と言えます。
但し、型を横断する再代入を繰り返すコードは、コードのデバック時にトラブルの原因になりうるので望ましいとは言えないです。
参考資料
- 一度代入した変数に再度値を代入することを再代入という
- 再代入するコード:
num = 1 print(num) num = 2 print(num)
- 演算して再代入するコード:
num = 1 print(num) num = num + 2 print(num)
- 再代入をおこなう演算子を用いたコード:
num = 1
num += 2 # num = num + 2 と同じ意味
print(num)num = 1
num -= 1 # num = num - 1 と同じ意味
print(num)num = 2
num *= 12 # num = num * 12 と同じ意味
print(num)num = 2
num /= 2 # num = num / 2 と同じ意味
print(num)num = 2
num //= 2 # num = num // 2 と同じ意味
print(num)num = 7
num %= 5 # num = num % 5 と同じ意味
print(num)num = 5
num **= 2 # num = num ** 2 と同じ意味
print(num)
- Python は再代入する際に型を変更することができる
a = "paiza" print(a) a = 813 print(a)
- ただし、型を横断する再代入を繰り返すコードは、コードのデバッグ時にトラブルの原因になりうるので望ましいとはいえない