1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Python】三項演算子(条件式)

Posted at

Pythonの三項演算子(条件式)は、短い条件分岐を1行で書くための構文です。他の言語での「三項演算子」に相当し、ifelseを使った条件式を簡潔に記述できます。これを使うと、条件に基づいて異なる値を返したり、設定したりすることができます。

基本構造

Pythonの三項演算子の構文は次の通りです:

値1 if 条件 else 値2
  • 条件: 評価される条件(TrueまたはFalse
  • 値1: 条件がTrueの場合に返される値
  • 値2: 条件がFalseの場合に返される値

サンプルコード

サンプル1: 数の大小を比較

a = 10
b = 20

# 三項演算子を使って大きい方の数を選ぶ
max_value = a if a > b else b

print("The larger number is:", max_value)

説明: このコードは、abのどちらが大きいかを比較し、大きい方の値をmax_valueに代入します。

サンプル2: 偶数か奇数かを判断

number = 7

# 三項演算子を使って偶数か奇数かを判定
result = "Even" if number % 2 == 0 else "Odd"

print("The number is:", result)

説明: numberが偶数なら"Even", 奇数なら"Odd"resultに代入します。

サンプル3: 入力に基づいてメッセージを表示

user_input = input("Enter 'yes' or 'no': ")

# 三項演算子を使ってメッセージを決定
message = "You said yes!" if user_input.lower() == 'yes' else "You said no!"

print(message)

説明: ユーザーが"yes"と入力した場合、"You said yes!"を表示し、それ以外の場合は"You said no!"を表示します。

サンプル4: 複数の条件で値を選択

score = 85

# 三項演算子をネストして複数の条件に対応
grade = "A" if score >= 90 else "B" if score >= 80 else "C" if score >= 70 else "D" if score >= 60 else "F"

print("Your grade is:", grade)

説明: scoreの値に基づいて成績を判定し、gradeに代入します。この例では三項演算子をネストして使っています。

if-elseとの比較

通常のif-else文と比較すると、三項演算子は次のようにより簡潔に書けます。

# 通常のif-else文
if condition:
    result = value1
else:
    result = value2

# 三項演算子を使うと
result = value1 if condition else value2

まとめ

  • 三項演算子: 短い条件式を1行で書くことができる。可読性を保ちながらコードを簡潔に書くのに便利。
  • 使い方: 値1 if 条件 else 値2 の形式で使う。

参考) 東京工業大学情報理工学院 Python早見表

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?