【Python入門シリーズ③】演算子を完全マスター!AIの論理を支えるデータ操作の基本

python入門

【Python入門シリーズ②】では、データを格納する「変数」と、その性質である「データ型」について学びました。

今回は、それらの変数やデータを使って、足し算や引き算、そして「等しいか?」「より大きいか?」といった比較を行うための道具である「演算子(えんざんし)」をマスターします。

一見すると単純な計算や比較ですが、これらこそが複雑なAIアルゴリズムを構成する最も基本的な部品(ビルディングブロック)です。この回を終えれば、あなたはデータを自在に加工し、プログラムに「判断」させるための基礎を手に入れることになります。

このシリーズの目次

このシリーズでは、プログラミングの基礎から始めて、最終的にはAI・機械学習の初歩までを体験できるような構成になっています。

  • 第4回: 条件分岐の仕方
  • 第5回: 繰り返し処理でプログラムを自動化する
  • 第6回: 関数を作ってコードを整理整頓する
  • 第7回: 複数のデータを扱う「リスト」と文字列操作
  • 第8回: ライブラリでPythonの能力を拡張する
  • 第9回: ファイルの読み込みと書き込み
  • 第10回: Matplotlib入門!データをグラフで可視化する
  • 第11回: 画像データの仕組みとPillowでの基本操作
  • 第12回: 画像処理の基礎(フィルタリングと特徴抽出)
  • 第13回: 機械学習実践!AIによる画像分類に挑戦
  • 第14回: オープンデータの取得と前処理(データクレンジング)
  • 第15回: 実践データ分析!オープンデータから傾向を読み解く

Python演算子 完全ガイド

Pythonの演算子は、役割ごとに7つのカテゴリに分類できます。それぞれについて、その目的と使い方を解説します。

1. 算術演算子 (Arithmetic Operators)

数値データ(int, float)に対して、四則演算などの数学的な計算を行います。

算術演算子は、数学の計算で使う記号とほぼ同じです。int型やfloat型のデータに対して使います。

演算子意味使用例結果
+足し算5 + 38
-引き算5 - 32
*掛け算5 * 315
/割り算5 / 31.666...
//切り捨て除算5 // 31
%剰余(あまり)5 % 32
**べき乗5 ** 3125
x = 10
y = 3
print(f"x / y = {x / y}")   # 3.333...
print(f"x // y = {x // y}") # 3
print(f"x % y = {x % y}")    # 1
Python

AIの世界ではどう使われるの? 🤖

AIが画像を認識したり、未来を予測したりするとき、その内部では膨大な数の計算が行われています。例えば、AIが家の価格を予測する単純なルールとして「価格 = (広さ * 10) + (築年数 * -5)」のような計算式を学習することがあります。複雑なAIモデルも、突き詰めればこのような単純な計算の巨大な組み合わせなのです。

2. 代入演算子 (Assignment Operators)

変数に値を代入するための演算子です。基本的な=に加えて、計算と代入を同時に行う複合代入演算子があります。

演算子意味使用例同等の処理
=代入x = 5
+=加算代入x += 3x = x + 3
-=減算代入x -= 3x = x - 3
*=乗算代入x *= 3x = x * 3
/=除算代入x /= 3x = x / 3
//=切り捨て除算代入x //= 3x = x // 3
%=剰余代入x %= 3x = x % 3
**=べき乗代入x **= 3x = x ** 3
score = 100
score += 20  # score = score + 20
print(f"新しいスコア: {score}")  # 120

lives = 5
lives -= 1   # lives = lives - 1
print(f"残りライフ: {lives}")  # 4
Python

AIの世界ではどう使われるの? 🤖

AIが学習するとき、「間違いの大きさ」に応じて内部のパラメータ(重み)を少しずつ調整していきます。例えば、重み += 0.001 * 誤差 のように、複合代入演算子を使って何百万回も微調整を繰り返すことで、AIは賢くなっていきます。この地道な更新処理こそが、AIが「学習」している瞬間なのです。


3. 比較演算子 (Comparison Operators)

2つの値を比較し、その関係が正しいか (True)、間違っているか (False) を返します。

演算子意味使用例結果
==等しい5 == 3False
!=等しくない5 != 3True
>大なり5 > 3True
<小なり5 < 3False
>=以上5 >= 5True
<=以下3 <= 5True
my_score = 85
pass_score = 80 # 合格点

print(my_score >= pass_score) # True
Python

AIの世界ではどう使われるの? 🤖

AIは常に「判断」をしています。「この画像は猫か?(Yes/No)」「このメールは迷惑メールか?(Yes/No)」。これらの判断は、比較演算子による質問で行われます。例えば、「猫らしさスコア > 0.9」がTrueなら「猫です」と判断する、といった具合です。AIの全ての判断は、このような単純な比較から始まります。


4. 論理演算子 (Logical Operators)

ブール値 (True, False) を組み合わせて、より複雑な条件を作成します。

演算子意味使用例結果
and論理積 (かつ)True and FalseFalse
or論理和 (または)True or FalseTrue
not否定not TrueFalse
score = 95
attendance_rate = 0.7 # 出席率

# スコアが90点以上、かつ、出席率が80%以上か?
is_excellent_student = (score >= 90) and (attendance_rate >= 0.8)
print(is_excellent_student) # False
Python

AIの世界ではどう使われるの? 🤖

より賢い判断をするには、複数の条件を組み合わせる必要があります。「送信元が不明 and 件名に”当選”という単語が含まれる」場合に「迷惑メールだ」と判断するなど、andorを使うことで、AIはより人間らしい、 nuanced(ニュアンスのある)な判断ができるようになります。

5. メンバーシップ演算子 (Membership Operators)

ある要素が、リストや文字列などのデータの集まりの中に含まれているかどうかを判定します。

演算子意味使用例結果
in含まれているか3 in [1,2,3]True
not in含まれていないか4 not in [1,2,3]True
fruits = ["apple", "banana", "orange"]
my_fruit = "apple"

print(my_fruit in fruits) # True
Python

AIの世界ではどう使われるの? 🤖

チャットボットに話しかけるとき、「てにをは」のような重要でない単語は無視してほしいですよね。AIはあらかじめ「無視する単語リスト」を持っておき、inを使って「この単語は無視リストに in 入っていますか?」と高速にチェックします。これにより、AIは文章の重要な部分にだけ集中できるのです。

6. 同一性演算子 (Identity Operators)

2つの変数が、メモリ上で全く同じモノを指しているかどうかという、少しマニアックなチェックをします。==(値が等しいか)とは意味が異なります。

演算子意味使用例結果
is同じオブジェクトかa is b参照が同じなら True
is not同じでないa is not b異なる参照なら True
a = [1, 2, 3]
b = a # bはaと全く同じモノを指す

print(a is b) # True
Python

AIの世界ではどう使われるの? 🤖

プログラミングでは、変数に「まだ何も入っていない」という特別な状態 None を使うことがよくあります。この変数が本当に「何もない」状態かどうかをチェックする際に、お作法として if my_variable is None: という形で使われます。値を比べる==ではなく、モノそのものを比べるisを使うのがプロフェッショナルな書き方です。

7. ビット演算子 (Bitwise Operators)

⚠️これは上級者向けの演算子です。 数値を2進数(0と1)のレベルで直接操作する、非常に低レベルな演算子です。

演算子意味使用例結果
&ビットAND5 & 30101 & 00111
``ビットOR5 | 3
^ビットXOR5 ^ 36
~ビット反転~5-6
<<左シフト5 << 110
>>右シフト5 >> 12

AIの世界ではどう使われるの? 🤖

自動車の設計をしたり、乗り方を教えたりするAI開発者が、エンジンの中の部品を直接いじることは滅多にありませんよね。それと同じで、ほとんどのAI開発ではこの演算子を直接使うことはありません。知っておくとカッコいいですが、今は「そんな専門的な道具もあるんだな」 くらいに考えておけば大丈夫です。


まとめ

この記事では、Pythonの7つの演算子カテゴリについて学びました。

今回のポイント

  • 算術演算子:数値の計算(足し算、割り算、べき乗など)
  • 代入演算子:変数への値の代入と複合代入(+=, -=など)
  • 比較演算子:2つの値の大小関係を判定し、True/Falseを返す
  • 論理演算子:複数の条件を組み合わせる(and, or, not
  • メンバーシップ演算子:要素がコレクションに含まれるか判定(in, not in
  • 同一性演算子:オブジェクトの同一性をチェック(is, is not
  • ビット演算子:2進数レベルでの操作(上級者向け)

これらの演算子は、一見シンプルですが、AI・機械学習の複雑なアルゴリズムを構成する最も基本的な部品です。計算、比較、判断というシンプルな操作の組み合わせが、画像認識や自然言語処理といった高度なAI機能を実現しているのです。

次回予告

次回の第4回: 条件分岐の仕方では、今回学んだ比較演算子と論理演算子を使って、プログラムに「判断」させる方法を学びます。if文を使いこなせば、あなたのプログラムは状況に応じて異なる行動を取れるようになります。AI開発における「意思決定」の基礎を一緒にマスターしましょう!

コメント

タイトルとURLをコピーしました