
意思決定は、コンピュータープログラミングの最も基本的な概念の1つです。 Pythonは、他の言語で見られる一般的なフロー制御ステートメントをサポートしていますが、いくつかの変更が加えられています。 if
制御ステートメントは、特定の条件に基づいてコードを実行するために使用される最も基本的でよく知られたステートメントの1つです。
この記事では、if
の基本について説明します。 Pythonのステートメント。
Python if
ステートメント#
if
の最も基本的な形式 Pythonのステートメントは次のとおりです。
if EXPRESSION:
STATEMENT
if
ステートメントはif
で始まります キーワードの後に条件式が続きます。
EXPRESSION
その後に(:
が続く必要があります )コロン。 EXPRESSION
の場合 True
と評価されます 、STATEMENT
実行されます。 EXPRESSION
の場合 False
を返します 、 何も起こりません; STATEMENT
無視されます。 STATEMENT
複数のステートメントまたはさらにネストされたif
を含む、任意のステートメントである ステートメント。ステートメントを実行しない場合は、pass
を使用します ステートメント。
STATEMENT
ブロックはインデントで始まり、最初のインデントされていない行で終わります。ほとんどの人は、4スペースまたは2スペースのインデントを使用することを選択します。 Pythonコードの公式スタイルガイドでは、インデントレベルごとに4つのスペースを使用し、インデントにタブとスペースを混在させないようにすることをお勧めします。
与えられた数が5より大きいかどうかをチェックする次のスクリプト例を見てみましょう。
number = int(input('Enter a number: '))
if number > 5:
print(number, 'is greater than 5.')
コードをファイルに保存し、コマンドラインから実行します:
python test.py
スクリプトにより、番号の入力を求められます。たとえば、10を入力すると、条件式はTrue
と評価されます。 (10は5より大きい)、およびprint
関数が実行されます。
10 is greater than 5.
Pythonは標準の比較操作をサポートしています:
-
a == b
-a
の場合はTrue およびb
等しい。 -
a != b
-a
の場合はTrue およびb
等しくありません。 -
a > b
-a
の場合はTrueb
より大きい 。 -
a >= b
-a
の場合はTrueb
以上である 。 -
a < b
-a
の場合はTrueb
未満です 。 -
a <= b
-a
の場合はTrueb
以下 。
in
を使用することもできます iterable(文字列、リスト、タプル、辞書など)に値が存在するかどうかを確認するキーワード:
s = 'linuxize'
if 'ze' in s:
print('True.')
辞書を使用した別の例を次に示します。
d = {'a': 2, 'b': 4}
if 'a' in d:
print('True.')
辞書で使用する場合、in
キーワードは、辞書に特定のキーがあるかどうかを確認します。
条件式を無効にするには、論理的なnot
を使用します 演算子:
number = int(input('Enter a number: '))
if not number < 5:
print(number, 'is greater than 5.')
if..else
ステートメント#
if..else
ステートメントは条件を評価し、結果に応じて2つのステートメントのいずれかを実行します。
Pythonのif..else
ステートメントは次の形式を取ります:
if EXPRESSION:
STATEMENT1
else:
STATEMENT2
EXPRESSION
の場合 True
と評価されます 、STATEMENT1
実行されます。それ以外の場合、EXPRESSION
False
を返します 、STATEMENT2
実行されます。 else
は1つだけ持つことができます ステートメントの句。
else
キーワードは(:
で終わる必要があります )コロンであり、対応するif
と同じインデントレベルになります キーワード。
else
を追加しましょう 前のサンプルスクリプトの句:
number = int(input('Enter a number: '))
if number > 5:
print(number, 'is greater than 5.')
else:
print(number, 'is equal or less than 5.')
コードを実行して数値を入力すると、スクリプトは、数値が5より大きいか小さいか、または等しいかに基づいて、異なるメッセージを出力します。
if..elif..else
ステートメント#
elif
キーワードはelse if
の略です 。
Pythonのif..elif..else
ステートメントは次の形式を取ります:
if EXPRESSION1:
STATEMENT1
elif: EXPRESSION2:
STATEMENT2
else:
STATEMENT3
EXPRESSION1
の場合 True
と評価されます 、STATEMENTS1
実行されます。 EXPRESSION2
の場合 True
と評価されます 、STATEMENTS2
実行されます。どの式もTrue
と評価されない場合 、STATEMENTS3
実行されます。
elif
キーワードは(:
で終わる必要があります )コロンであり、対応するif
と同じインデントレベルにある キーワード。 1つ以上のelif
を持つことができます ステートメント内の句。 else
句はオプションです。 else
の場合 句は使用されず、すべての式がFalse
と評価されます。 、ステートメントは実行されません。
条件は順番に評価されます。条件がTrue
を返すと 、残りの条件は実行されず、プログラム制御はif
の最後に移動します ステートメント。
elif
を追加しましょう 前のスクリプトの句:
number = int(input('Enter a number: '))
if number > 5:
print(number, 'is greater than 5.')
elif number < 5:
print(number, 'is less than 5.')
else:
print(number, 'is equal to 5.')
ほとんどのプログラミング言語とは異なり、Pythonにはswitch
がありません またはcase
ステートメント。複数のelif
のシーケンス ステートメントは、switch
の代わりに使用できます またはcase
。
if
ステートメント#
Pythonでは、if
をネストできます if
内のステートメント ステートメント。通常、過度のインデントは避け、elif
を使用するようにしてください。 if
をネストする代わりに ステートメント。
次のスクリプトは、3つの数字を入力するように促し、数字の中で最大の数字を出力します。
number1 = int(input('Enter the first number: '))
number2 = int(input('Enter the second number: '))
number3 = int(input('Enter the third number: '))
if number1 > number2:
if number1 > number3:
print(number1, 'is the largest number.')
else:
print(number3, 'is the largest number.')
else:
if number2 > number3:
print(number2, 'is the largest number.')
else:
print(number3, 'is the largest number.')
出力は次のようになります。
Enter the first number: 455
Enter the second number: 567
Enter the third number: 354
567 is the largest number.
複数の条件#
論理的なor
およびand
演算子を使用すると、if
で複数の条件を組み合わせることができます ステートメント。
これは、3つの数値の中で最大の数値を出力するスクリプトの別のバージョンです。このバージョンでは、ネストされたif
の代わりに ステートメントでは、論理的なand
を使用します 演算子とelif
。
number1 = int(input('Enter the first number: '))
number2 = int(input('Enter the second number: '))
number3 = int(input('Enter the third number: '))
if number1 > number2 and number1 > number3:
print(number1, 'is the largest number.')
elif number2 > number3 and number2 > number3:
print(number2, 'is the largest number.')
else:
print(number3, 'is the largest number.')
結論#
if
、if..else
およびif..elif..else
ステートメントを使用すると、特定の条件を評価することでPythonの実行フローを制御できます。
ご質問やご意見がございましたら、お気軽にコメントをお寄せください。