意思決定は、コンピュータープログラミングの最も基本的な概念の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の実行フローを制御できます。
ご質問やご意見がございましたら、お気軽にコメントをお寄せください。