Python - 演算子: 基本をマスターするための親しみやすいガイド

こんにちは、Pythonプログラマー志望の方!このPython演算子のワクワクする旅におあなたのガイドとしておてまえになりました。プログラミング教育を年々してきた者として、演算子の理解は道具箱の基本道具を学ぶようなものであると言えます。これらを理解すれば、驚くべきものを作ることができることに気づくでしょう!

Python - Operators

Pythonの演算子とは?

さあ、始める前に簡単な比喩を考えてみましょう。演算子はPythonの言語における動詞のようなものです。英語において動詞がアクションを表現するのに対して、Pythonにおいては演算子がアクションを実行するのです。データを操作し、意味のあるプログラムを作成するための働き者です。

Pythonの演算子の種類

Pythonには豊富なセットの演算子があり、いくつかのカテゴリーに分類できます。それぞれのタイプを例とともに探ってみましょう。「ああ、今になって理解できた!」と感じることでしょう。

1. 算術演算子

これらは最もよく知られている演算子でしょう。学校で学んだ基本的な数学演算と似ていますが、今はあなたのコーディングの味方です!

# 加法
print(5 + 3)  # 出力: 8

# 減法
print(10 - 4)  # 出力: 6

# 乗法
print(3 * 4)  # 出力: 12

# 除法
print(20 / 5)  # 出力: 4.0

# 床除法(最も近い整数に切り捨て)
print(17 // 3)  # 出力: 5

# 余り
print(17 % 3)  # 出力: 2

# 冪乗
print(2 ** 3)  # 出力: 8

これらの演算子は特定の数学演算を行います。余り演算子(%)は、数が偶数か奇数かを確認するのに特に役立ちます。私はコーディングクラスでよく使います!

2. 比較演算子

これらの演算子はプログラミングコンテストの審査員のようなもので、値を比較してTrueまたはFalseを返します。

# 等しい
print(5 == 5)  # 出力: True

# 等しくない
print(5 != 3)  # 出力: True

# 以上
print(7 > 3)   # 出力: True

# 以下
print(2 < 8)   # 出力: True

# 以上または等しい
print(5 >= 5)  # 出力: True

# 以下または等しい
print(3 <= 1)  # 出力: False

これらはPythonの「質問者」と思ってください。彼らは絶えず「これは真実か?」と尋ねて、はいまたはいいえと答えます。

3. 論理演算子

論理演算子はPythonの意思決定者です。複数の条件を組み合わせ、複雑な意思決定を行うのに役立ちます。

# and演算子
print(True and True)   # 出力: True
print(True and False)  # 出力: False

# or演算子
print(True or False)   # 出力: True
print(False or False)  # 出力: False

# not演算子
print(not True)        # 出力: False
print(not False)       # 出力: True

私は学生に「and」は厳しい親(両方の条件が真でなければならない)、「or」は優し�い親(少なくとも一つの条件が真であればよい)、そして「not」は反抗的なティーンエージャー(常に反対する)と説明しています。

4. 賦值演算子

これらの演算子はPythonの「移動業者」のようなもので、値を変数に割り当てます。

# 簡単な割り当て
x = 5
print(x)  # 出力: 5

# 加算して割り当て
x += 3    # x = x + 3と同じ
print(x)  # 出力: 8

# 減算して割り当て
x -= 2    # x = x - 2と同じ
print(x)  # 出力: 6

# 乗算して割り当て
x *= 2    # x = x * 2と同じ
print(x)  # 出力: 12

# 除算して割り当て
x /= 3    # x = x / 3と同じ
print(x)  # 出力: 4.0

これらの演算子は実際に時間を節約します。x = x + 3を書く代わりに、x += 3と書けます。Pythonのやり方で「お前を守るよ、家族」と言っているようなものです!

5. 身份演算子

身份演算子は、二つのオブジェクトのメモリ位置を比較するために使用されます。

# is演算子
x = [1, 2, 3]
y = [1, 2, 3]
z = x

print(x is z)  # 出力: True
print(x is y)  # 出力: False
print(x == y)  # 出力: True

# is not演算子
print(x is not y)  # 出力: True

is演算子は、二つの変数が同じメモリオブジェクトを参照しているかどうかを確認します。これは、「これら二つは実際に同じものか?」と尋ねるようなものです。これは厄介で、私は常に学生に==は値の比較、isは身份の比較を使うよう勧めます。

6. メンバーシップ演算子

これらの演算子はクラブのボウンサーのようなもので、値がシーケンスのメンバーであるかどうかを確認します。

# in演算子
fruits = ['apple', 'banana', 'cherry']
print('banana' in fruits)  # 出力: True

# not in演算子
print('mango' not in fruits)  # 出力: True

リストについて教えるときにこれらの演算子を使うのが大好きです。アイテムが存在するかどうかを簡単に確認できます!

Pythonの演算子の優先順位

今や私たちがすべての演算子を知っているので、Pythonがどの演算子を最初に評価するかを理解することが重要です。これは演算子の優先順位と呼ばれ、PythonのファンシーなパーティでのVIPリストのようなものです。いくつかの演算子は最初に処理されます!

以下は演算子の優先順位を示す表です、最も高いものから最も低いものへと:

演算子 説明
() 括弧
** 冪乗
+x, -x, ~x 単項プラス、マイナス、ビットごとのNOT
*, /, //, % 乗法、除法、床除法、余り
+, - 加法、減法
<<, >> ビットシフト
& ビットごとのAND
^ ビットごとのXOR
| ビットごとのOR
==, !=, >, >=, <, <=, is, is not, in, not in 比較、身份、メンバーシップ
not 論理NOT
and 論理AND
or 論理OR

覚えておいてください、明示的に評価順を指定するために括弧を使うことができます。これは式の一部にVIPパスを与えるようなものです!

# 括弧なし
print(2 + 3 * 4)  # 出力: 14

# 括弧あり
print((2 + 3) * 4)  # 出力: 20

最初の例では、乗法の方が優先され、3 * 4が最初に評価されます。二つ目の例では、括弧がデフォルトの優先順位を上書きし、加法が最初に行われます。

それでは、皆さん!Pythonの演算子についてのクラッシュコースはここまでです。これらの演算子を自分のコードで実験することで、パフォーマンスを上げることができます。知らずにこれらを組み合わせて、複雑で美味しいPythonプログラムを作るマスターシェフのようになるまでになります!

ハッピーコーディング、そして演算子があなたと共にあることを!

Credits: Image by storyset