前回:https://qiita.com/New_enpitsu_15/items/ff7bd650f3e439060a8f
次回:https://qiita.com/New_enpitsu_15/items/2198c693932ca6460fd6
目次:https://qiita.com/New_enpitsu_15/private/479c69897780cabd01f4
プログラミングをしていると、
ある変数にその変数を操作した値を代入したいことがあります。
たとえば、
count = 0
#countに0を代入
print(count)
#0
count = count + 1
#countにもともとcountに入っていた値+1を代入
print(count)
#1
count = count + 1
print(count)
#2
といった感じです。
でもこれ、countと2回書かなくてもいいんです。
#代入演算子
count = count + 1
は
count += 1
と書き直すことができます
それに、こっちのほうがcountに1を足す
という操作としては直感的ですね。
加えて、代入演算子は(おそらく)__すべての演算子に対応__しています。
例えば、
x
を2
で割り、その値をそのまま代入したいときは
x /= 2
と書くことができますし、
二乗したいときは
x **= 2
と書いてやれます。
[変数] [演算子]= [値...]
は
[変数] = [変数] [演算子] ([値...])
と同義と覚えておきましょう。
x += 1+1
x -= 1+1
x *= 1+1
x /= 1+1
#以上はそれぞれ以下と同義
x = x + (1+1)
x = x - (1+1)
x = x * (1+1)
x = x / (1+1)
#演算子まとめ
演算子は、数値、文字列ごとに違った役割が定義されています。
####数値
演算子 | 例 | 挙動 |
---|---|---|
+ | a + b | aにbを足す |
- | a - b | aからbを引く |
* | a * b | aにbを掛ける |
/ | a / b | aをbで割る |
% | a % b | a÷bの余剰 |
// | a // b | a÷b小数切り捨て |
** | a ** b | aのb乗 |
特殊:-a
で変数aの正負を反転させてくれます。
####文字列
演算子 | 例 | 挙動 |
---|---|---|
+ | a + b | aとbを結合する |
* | a * n(数値) | aをb回繰り返す |
#エラー?文字と数字
>>> 1 + "1"
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'str'
>>>
数値をそのまま文字列に結合、
もしくは文字列を数値としてそのまま計算しようとするとエラーになります。
(そのような演算は定義されていないのです)
文字列を数値として扱いたいのならint()
で囲ってあげましょう。
1 + int("1")
#2
数値を文字列として扱いたいのならstr()
で囲いましょう。
str(1) + "1"
#'11'
こうして、文字列と数値を相互に変換することができます。
#参考