Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ 論理演算子 | ブール値と比較
Pythonのデータ型

論理演算子

メニューを表示するにはスワイプしてください

人々は「はい、そしてはい」「はい、またはいいえ」「絶対に違う」と言います。Pythonでは、論理演算子 andornot がこれらの考えを形式的に表現し、TrueFalse の比較で使うブール値(if/while)を生成します。

各演算子の意味

優先順位

notand よりも強く結合し、それは or よりも強く結合します(not > and > or)。迷った場合は括弧を使用してください。

例えば、age >= 18 and has_id は両方の条件が成立した場合のみ True になります。

123
age = 21 has_id = True print(age >= 18 and has_id) # True

真理値表

真理値表は、入力のすべての可能な真理値を一覧にし、論理式の結果となる出力を示す表。コードを実行せずに論理を考えるための簡潔な方法。

表の使い方

XFalseYTrue の場合、X and YFalseX or YTruenot XTrue となる。

戻り値とショートサーキット評価

andor は常にブール値の True または False を返すわけではありません。代わりに、いずれかのオペランドを返し、Python は最終結果が確定した時点で評価を早期終了(ショートサーキット)します。

  • A and B

  • A が偽値の場合、結果は必ず偽値となるため、Python はショートサーキットして A を返します(B は評価されません)。

  • A が真値の場合、結果は完全に B に依存するため、Python は B を評価してその値を返します。

  • A or B

  • A が真値の場合、結果は必ず真値となるため、Python はショートサーキットして A を返します(B は評価されません)。

  • A が偽値の場合、結果は完全に B に依存するため、Python は B を評価してその値を返します。

  • not X は常に実際のブール値、すなわち True または False を返します。

1234567891011121314151617
# Choosing a display name for a user profile username = "" # user didn't set a custom name print(username or "Guest") # "Guest" → fallback to default name username = "Alice" print(username or "Guest") # "Alice" → custom name is used # Checking login attempts and access permissions login_attempts = 0 access_level = 123 print(login_attempts and access_level) # 0 → login not yet attempted login_attempts = 5 print(login_attempts and access_level) # 123 → user has access after attempts # Checking empty and non-empty values print(not 0, not "Hello") # True False → 0 is falsey, non-empty string is truthy

1. 空欄を True または False で埋めてください。X = TrueY = False とします。

2. 「XでもYでもない」という古典論理に一致する文はどれか?

3. この式は何を返すか?

question-icon

空欄を True または False で埋めてください。X = TrueY = False とします。

X and Y
not X

X or Y

クリックまたはドラッグ`n`ドロップして空欄を埋めてください

question mark

「XでもYでもない」という古典論理に一致する文はどれか?

正しい答えを選んでください

question mark

この式は何を返すか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 2.  4

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 2.  4
some-alt