本記事では、Pythonにおけるif文の書き方を解説していきます。
Pythonのif文の書き方
Pythonでは、if文を使う事で条件ごとに処理を分けることができます。
if 条件:
と言う風にコードを書くことができ、条件が True と評価された場合、そのブロックのコードが実行されます。
説明はこれまでにして、実際に以下のコードを見てもらうと分かりやすいです。
x = 10
if x > 5:
print("ok")
else:
print("ng")
上記の例では、if x > 5:
の部分に条件が当てはまるので、ok
と表示されます。
Pythonでif-elifを使って複数条件を扱う
Pythonでは、elif
を使う事で、if文の条件を複数扱うことができます。
country = 'France'
if country == 'India':
print('India')
elif country == 'France':
print('France')
else:
print("no")
上記の例では、Franceと出力されるはずです。
また、elifは複数回使う事もできます。
Even the else block is optional. Let’s look at another example where we have only if condition.
defprocess_string(s):
if type(s)is not str:
print('not string')
return
# code to process the input string
この記事もチェック:Pythonで複数の条件文(if文)を扱う方法
Pythonのif-elseを一行で表現します。
例えば、このような単純なif-else条件があるとします。
x = 10
if x > 0:
is_positive = True
else:
s_positive = False
Pythonの三項演算子を使えば、if-elseブロック全体を1行で表現できます。
例えば、上記のコードは以下のようになります
is_positive = True if x > 0 else False
この記事もチェック:Pythonの三項演算子|if,elseを使った方法とタプルを使った方法を解説
ネストされたif-else文
複数のネストしたif-else文持つことができます。
1つ注意なのが、インデント(字下げ)に注意しないと、予期せぬ結果になる可能性があります。
複数のif-else-elif条件を入れ子にして、数値処理スクリプトを作成する長い例を見てみましょう。
# accepting user input
x = input('Please enter an integer:')
# convert str to int
x = int(x)
print(f'You entered {x}')
if x > 0:
print("It's a positive number")
if x % 2 == 0:
print("It's also an even number")
if x > = 10:
print("The number has multiple digits")
else:
print("It's an odd number")
elif x == 0:
print("Lovely choice, 0 is the master of all digits.")
else:
print("It's a negative number")
if x % 3 == 0:
print("This number is divided by 3")
if x % 2 == 0:
print("And it's an even number")
else:
print("And it's an odd number")
このコードを複数回繰り返したときの出力例です。
Please enter an integer:
10
You entered 10
It's a positive number
It's also an even number
The number has multiple digits
Please enter an integer:
0
You entered 0
Lovely choice, 0 is the master of all digits.
Please enter an integer:
- 10
You entered - 10
It's a negative number
And it's an even number