0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

代入演算子と演算子まとめ/文字と数字

Last updated at Posted at 2019-04-19

前回: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を足すという操作としては直感的ですね。

加えて、代入演算子は(おそらく)__すべての演算子に対応__しています。

例えば、
x2で割り、その値をそのまま代入したいときは

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'

こうして、文字列と数値を相互に変換することができます。

#参考

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?