【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モデルも、突き詰めればこのような単純な計算の巨大な組み合わせなのです。

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開発ではこの演算子を直接使うことはありません。知っておくとカッコいいですが、今は「そんな専門的な道具もあるんだな」 くらいに考えておけば大丈夫です。

コメント

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