Pythonの三項演算子と条件文を短くする方法 | プログラミング学習 初心者向け入門ガイド

ホーム › >>

Pythonの三項演算子と条件文を短くする方法

記事掲載:https://laptrinhcanban.com/ja

Python で三項演算子を使用する方法。このレッスンの後、 python の三項演算子の概念、基本的な書き方、および python の if ステートメントでの三項演算子の使用方法を学習します

Pythonの三項演算子とは

Python の三項演算子は、条件、条件が true の場合の結果、条件が false の場合の結果を含む 3 つの引数で構成される演算子です。ここでの結果は、返される値、または指定された条件が true か false かに応じて後で実行される処理になります。

Python の三項演算子を使用すると、複数の if-else ステートメントを使用する代わりに、1 行のコードで特定の条件をチェックできるため、コードがよりシンプルでスマートになります。

 Pythonの三項演算子

if else 文で三項演算子を使用する

Python で三項演算子を if else ステートメントと共に使用するには、次の 2 つの方法があります。

Pythonで三項演算子を使用して条件で値を変換する

Python で三項演算子を使用して、次の構文で条件によって値を変換します。

(true_value) if (condition) else (false_value);

conditionは条件式、true_valueは条件が true の場合の戻り値、false_valueは条件が false の場合の戻り値です。

たとえば、次のように数値が 10 に等しいかどうかを確認します。

通常の書き方

if n == 10:
x = "OK"
else :
x = "NG"

三項演算子の使い方

x = "OK" if n == 10 else "NG"

別の例として、次のようにPythonで数値が偶数か奇数かを確認します。

通常の書き方

x = 101
if x % 2 == 0 :
s = 'chẵn'
else:
s = 'lẻ'
print(s) # lẻ

三項演算子の使い方

x = 101
s = 'chẵn' if x % 2 == 0 else 'lẻ'
print(s) # lẻ

Pythonで三項演算子を使用して条件による処理を変換

Python で三項演算子を使用して、次の構文で条件付き処理を変換します。

(true_expression) if (condition) else (false_expression);

true_expressionは、condition条件式が true の場合に実行される処理であり、false_expression条件が false の場合に実行される処理です。

例えば、偶数と奇数を求める問題でも、次のように与えられた数が偶数か奇数かを調べ、場合に応じて三項演算子を使ってスクリーン印刷処理を行います。

a = 1
print('chẵn') if a % 2 == 0 else print('lẻ')
# lẻ

別の例として、次のように、数値が偶数か奇数かに応じて、指定された数値に異なる数値を掛けます。

通常の書き方

a = 1
if a % 2 == 0:
result = a * 2
else:
result = a * 3
print(result) # 3

三項演算子の使い方

a = 1
result = a * 2 if a % 2 == 0 else a * 3
print(result) # 3

尚、次のように if else ステートメントで三項演算子を論理演算子 (and、or) と共に使用できます。

a = - 2
result = '負または偶数' if a < 0 and a % 2 == 0 else '正または奇数'
print (result) #負または偶数

a = 1
result = '負と偶数' if a < 0 and a % 2 == 0 else '正と奇数'
print (result) # 正と奇数
  • Python で論理演算子を使用する方法の詳細については、Python の論理演算子の記事を参照してください。

if elif else文で Python の三項演算子を使用する

Python の三項演算子を if elif else 文で使用し、ステートメントを 1 行だけに記述する特別な方法は用意されていませんが、三項演算子のネストを変更して使用することで、これも実現できます。

三項演算子で使用する構文は次のようになります。

A if (condition1) else B if (condition2) else C;

上記の構文は、次のように 2 つの三項演算子に変換されます

A if condition1 else ( B if condition2 else C )

現時点での演算子の優先順位に関して、python は最初に三項演算子から、つまり裏返しに実行します。

  • 先に実行: D =( B if condition2 else C )
  • 次に実行:A if condition1 else

たとえば、次のように、Python の三項演算子を if elif else ステートメントで使用して、数値が正か負かを確認します。

a = - 1
result = 'negative' if a < 0 else 'positive' if a > 0 else 'zero'
print (result)
# negative

a = 0
result = 'negative' if a < 0 else 'positive' if a > 0 else 'zero'
print (result)
# zero

a = 1
result = 'negative' if a < 0 else 'positive' if a > 0 else 'zero'
print (result)
# positive

Python三項演算子とリスト内包表記の組み合わせ

これは、プロのプログラマーが AI プログラムでコードを記述するためによく使用する方法であり、Python の三項演算子とリスト内包表記を組み合わせたものです。

三項演算子とリスト内包表記を組み合わせることで、リスト内の要素の値を自由に変更したり、設定した条件に応じて処理を選択したりできます。

例えば:

l = ['even' if i % 2 == 0 else i for i in range(10)]
print(l)
# ['even', 1, 'even', 3, 'even', 5, 'even', 7, 'even', 9]

l = [i * 10 if i % 2 == 0 else i for i in range(10)]
print(l)
# [0, 1, 20, 3, 40, 5, 60, 7, 80, 9]

まとめ

上記 Kiyoshi はpython で三項演算子を使用する方法を示しました。レッスンの内容をよりよく理解するために、今日の例を書き直す練習をしてください。

そして、次のレッスンで Python の知識についてさらに学びましょう。

URL Link

https://laptrinhcanban.com/ja/python/nhap-mon-lap-trinh-python/lenh-dieu-kien-trong-python/toan-tu-3-ngoi-trong-python/

この記事は役立つと思ったらいいね!とシェアをお願いします
">

ホーム  › >>

Profile
きよしです!笑

Author: Kiyoshi (Chis Thanh)

Kiyoshi was a former international student in Japan. After graduating from Toyama University in 2017, Kiyoshi is currently working as a BrSE in Tokyo, Japan.