論理演算子
メニューを表示するにはスワイプしてください
人々は「はい、そしてはい」「はい、またはいいえ」「絶対に違う」と言います。Pythonでは、論理演算子 and, or, not がこれらの考えを正式に表現し、比較とともに使用するブール値(True/False)を生成します。これらは if や while で利用されます。
各演算子の意味
優先順位
not は and よりも強く結合し、and は or よりも強く結合します(not > and > or)。迷った場合は括弧を使用してください。
例えば、age >= 18 and has_id は、両方の条件が満たされた場合にのみ True となります。
123age = 21 has_id = True print(age >= 18 and has_id) # True
真理値表
真理値表は、入力のすべての可能な真理値と、論理式の結果となる出力を一覧にしたもの。コードを実行せずに論理を考えるための簡潔な方法。
表の使い方
X が False で Y が True の場合、X and Y は False、X or Y は True、not X は True となる。
戻り値とショートサーキット評価(併用)
and と or は常に True/False という単語を返すわけではなく、いずれかのオペランドを返し、結果が確定した時点でPythonは評価を打ち切る場合がある。
-
A and B: -
Aが偽値の場合、式全体は偽となり結果はA(PythonはBを評価しない); -
Aが真値の場合、結果はBに依存し、式はBを評価する。 -
A or B: -
Aが真値の場合、式は真となり結果はA(PythonはBを評価しない); -
Aが偽値の場合、結果はBに依存し、式は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 = True、Y = False とします。
2. 「X でも Y でもない」という古典論理に一致する式はどれですか?
3. この式は何を返しますか?
フィードバックありがとうございます!
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください