Python を始めたばかりで、演算子に戸惑っている方もいるのではないでしょうか?この記事では、Python で使用できる様々な演算子とその使い方をわかりやすく解説します。演算子をマスターすれば、プログラムの表現力や柔軟性が格段に向上します!
C言語との違いについても少しふれながら解説していきます!!
Python における演算子の種類
Python には、数値、文字列、リストなど、様々なデータ型に対して操作を実行できる演算子が用意されています。
算術演算子
演算子 | 説明 | 例 | 結果 |
+ | 加算 | 10 + 5 | 15 |
– | 減算 | 10 – 5 | 5 |
* | 乗算 | 10 * 5 | 50 |
/ | 除算 | 10 / 5 | 2.0 |
// | 整数除算 | 10 // 5 | 2 |
% | 剰余 | 10 % 5 | 0 |
** | べき乗 | 10 ** 2 | 100 |
C言語と同じです。
比較演算子
演算子 | 説明 | 例 | 結果 |
== | 等しい | 10 == 5 | False |
!= | 等しくない | 10 != 5 | True |
> | より大きい | 10 > 5 | True |
< | より小さい | 10 < 5 | False |
>= | 以上 | 10 >= 5 | True |
<= | 以下 | 10 <= 5 | False |
使い方は、C言語と同じですが、結果がBool型となり、True・Falseとなるのでこれは注意です。
論理演算子
演算子 | 説明 | 例 | 結果 |
and | 論理積 | True and False | False |
or | 論理和 | True or False | True |
not | 論理否定 | not True | False |
C言語いう&& や || が、andやorにあたります。プログラムの読解としてはこちらの方が理解しやすいのかなと感じます。
こちらも結果がBool型となり、True・Falseとなるのでこれは注意です。
ビット演算子
演算子 | 説明 | 例 | 結果 |
& | ビット論理積 | 10 & 5 | 0 |
| | ビット論理和 | 10 | 5 | 15 |
^ | ビット排他的論理和 | 10 ^ 5 | 15 |
~ | ビット否定 | ~ 10 | -11 |
<< | 左シフト | 10 << 2 | 40 |
>> | 右シフト | 10 >> 2 | 2 |
ここはC言語と同じ使い方になります。
代入演算子
演算子 | 説明 | 例 | 結果 |
= | 代入 | a = 10 | a = 10 |
+= | 加算代入 | a += 5 | a = 15 |
-= | 減算代入 | a -= 5 | a = 5 |
*= | 乗算代入 | a *= 5 | a = 50 |
/= | 除算代入 | a /= 5 | a = 2.0 |
//= | 整数除算代入 | a //= 5 | a = 2 |
%= | 剰余代入 | a %= 5 | a = 0 |
**= | べき乗代入 | a **= 2 | a = 100 |
&= | ビット論理積代入 | a &= 5 | a = 0 |
|= | ビット論理和代入 | a |= 5 | a = 15 |
^= | ビット排他的論理和代入 | a ^= 5 | a = 15 |
<<= | 左シフト代入 | a <<= 2 | a = 40 |
>>= | 右シフト代入 | a >>= 2 | a = 2 |
Python では、C++ や Java などの言語に見られる ++ や — などのインクリメント/デクリメント演算子はサポートされていません。
インクリメントやデクリメントしたい場合は、x+=1 や x-=1と記載しましょう。
その他の演算子
演算子 | 説明 | 例 | 結果 |
is | 同じオブジェクトか | a is b | True (a と b が同じオブジェクトの場合) |
is not | 同じオブジェクト ではないか | a is not b | True (a と b が異なるオブジェクトの場合) |
in | シーケンスに 存在するか | 10 in [1, 2, 3, 10] | True |
not in | シーケンスに 存在しないか | 10 not in [1, 2, 3] | True |
C言語にはない演算子ですが、これに慣れれば使い勝手はいいですし、Pythonができるといっていいレベルでしょう。
演算子の優先順位
演算子はそれぞれ優先順位を持っており、優先順位が高い演算子は、低い演算子よりも先に評価されます。
こちらは、ある程度把握していれば覚える必要はないけど、注意はしておきましょう。
C言語の優先順位と大して変わりません。
- べき乗 (**)
- 単項演算子 (+, -)
- 乗算, 除算, 整数除算, 剰余 (*, /, //, %)
- 加算, 減算 (+, -)
- ビットシフト (<<, >>)
- ビット論理積 (&)
- ビット排他的論理和 (^)
- ビット論理和 (|)
- 比較演算子 (==, !=, >, <, >=, <=)
- is, is not
- in, not in
- not
- and
- or
まとめ
この記事では、Python の様々な演算子について解説しました。演算子を理解することで、より複雑なプログラムを記述できるようになります。ぜひ今回の内容を参考にして、演算子をマスターし、Python プログラミングのスキルアップを目指しましょう!
最後に、Pythonの基礎を学びたい方は以下がおすすめです。私も持っていてたまに眺めて勉強していますものですのでぜひ購入して学習してみてください。
コメント