今回は演算子の解説となります。
変数を比較したり変数に代入したり様々な処理をする上で
必要な演算子について一緒に勉強しましょう!!
演算子とは
変数や値に対して決められた処理を実行するための記号を演算子といいます。
今回紹介するのはこの5つの演算子について解説をします。
- 算術演算子
- 代入演算子
- 比較演算子
- 論理演算子
算術演算子
これは皆さんにも馴染みがあるのではないでしょうか。
そう!算数や数学で使うような記号の演算子です。
四則演算や数学で利用する演算子となります。
加算「+」減算「-」乗算「*」除算「/」は馴染みがありますよね。
数学的なところでご紹介すると
べき乗「**」剰余「%」除算(切り捨て)「//」があります。
ちなみにこれらの算術演算子は変数の型によって役割が変化します。
まずは普通の数字の計算をしてみます。
print(5 + 5)
これは5+5をしているので出力結果は10となります。
ですが、文字列型に「+」を利用するとこのようになります。
print('5' + '5')
これは文字列の5を加算しています。出力結果はこうなります。
55
文字列型同士の加算は文字列の連結となります。
では乗算「*」を使うとどうなるでしょう。
print('5' * 5)
上のコードは文字列の5に5を掛け算しています。出力結果はどうなるでしょうか。
55555
文字列に数字を掛けるとその数字分だけ文字列を繰り返したものを生成します。
除算「/」と 除算(切り捨て)「//」 の違いについても実際のコードで確認してみましょう
print(10 / 3)
出力結果はこのような形になります。
3.3333333333333335
除算(切り捨て)では出力結果がこのようになります。
print(10 // 3)
小数点以降が切り捨てられて整数部のみを取得することができます。
3
ちなみに除算をすると帰ってくる方は浮動小数点になるので注意しましょう。
また浮動小数点の四則演算をすると独特の誤差が発生ますのでしっかりと覚えておきましょう。
print(0.1 * 3)
この出力結果はどうなるでしょう?普通に計算すると「0.3」ですよね。
Pythonでこの計算をするととても不思議な結果となります。
0.30000000000000004
なんじゃこの一番最後の4どうしてこんなことになるのかというと
Pythonでは内部的に2進数で計算を行っています。そのため誤差が発生します。
代入演算子
代入演算子は左辺の変数に対して右辺の値を代入するための演算子です。
代入演算子には算術演算子やこの後解説するビット演算子などを掛け合わせた複合代入演算子というものも含まれています。
複合代入演算子は左辺と右辺の値を演算した結果を左辺に代入するという処理をします。
一番シンプルな代入演算子は「=」となります。
使い方のイメージはこんな感じ
data = 5
dataという変数に5という値を代入しています。
複合代入演算子を使ってこれに5を加えるためにはどうしたらいいでしょうか。
data += 5
dataに代入されている値の5と右辺の5を加算してdata変数に格納する処理をするので
この時点でdataに代入されている値は10となります。
ちなみにJavaで利用可能なインクリメントやデクリメントはPythonでは使用できません。
そこでこの代入演算子を有効活用しましょう。
比較演算子
比較演算子は左辺と右辺の値を比較するために利用する演算子です。
比較の結果としてTrueまたはFalseを返します。
使いどころとしては繰り返しや条件分岐をする際に条件式として登場してくることが多いです。
主な比較演算子と比較の内容について簡単に表にまとめます。
# | 比較演算子 | 比較内容 |
1 | < | 左辺が右辺より小さい場合にTrueを返す |
2 | > | 左辺が右辺より大きい場合にTrueを返す |
3 | == | 左辺と右辺の値が同じ場合にTrueを返す |
4 | <= | 左辺が右辺以下の場合にTrueを返す |
5 | >= | 左辺が右辺以上の場合にTrueを返す |
6 | != | 左辺と右辺の値が等しくない場合にTrueを返す |
7 | is | 左辺と右辺のオブジェクトが等しい場合にTrueを返す |
8 | in | 左辺が右辺に含まれている場合にTrueを返す |
論理演算子
複数の条件式を論理的に結合してその結果を得るために利用する演算子です。
比較演算子と組み合わせて利用して結果としてはTrueまたはFalseを返します。
論理演算子とどのような時にTrueを返すのか簡単に紹介します。
# | 演算子 | Trueを返す場合 |
1 | and | 左辺と右辺が共にTrueの場合にTrueを返す。 |
2 | or | 左辺または右辺がTrueno場合にTrueを返す。 |
3 | ^ | 左辺と右辺が共にTrueまたは共にFalseの場合にTrueを返す。 |
4 | not | 式の結果がFalseの場合にTrueを返す。 |
論理演算子についてはプログラミングではなく数学でも登場してくるので
馴染みがある人もいらっしゃるのではないでしょうか。
また論理演算子はある条件の場合に左辺または右辺のみを評価して結果が出てしまうことから
ショートカット演算(短絡演算)といいます。
具体的な例で出すとand演算子を利用したケースで左辺の結果がFalseの時点で右辺がどのような結果であっても
結果はFalseとなるため右辺の評価は行われないという感じです。
これはor演算子を使用したときに左辺の結果がTrueの場合も同様に右辺の評価をせずに結果が出ます。
まとめ
今回は演算子の算術演算子、代入演算子、比較演算子、論理演算子について簡単に解説をさせていただきました。
それぞれの演算子の使い方を簡単にまとめるとこんな感じです。
# | 演算子 | 使い方 |
1 | 算術演算子 | 四則演算をする際に利用する |
2 | 代入演算子 | 左辺の変数に右辺の値を代入する際に利用する |
3 | 比較演算子 | 左辺と右辺の値を比較してTrueまたはFalseを得るときに利用する |
4 | 論理演算子 | 複数の条件式を論理的に結合してその結果がTrueまたはFalseを得るときに利用する |
最後まで読んでいただきありがとうございます。
今回は演算子にフォーカスを当てて解説をさせていただきました。
実際に利用ケースの紹介が少なかったので今後登場してきたときに
振り返りをしてもらえると嬉しいです!
コメント