if文¶
真偽値¶
if文では、条件に真偽値(論理型)を必要とします。 if文の条件には、基本的に全てのオブジェクトを書けます※。
※ __bool__
メソッドを定義していて、エラーを返すクラスのオブジェクトは除きます。たとえば、numpy.ndarray
などがあります。
if文の書き方¶
条件が真とみなされる場合(以降、True)、偽とみなされる場合(以降、False)よって行う処理を振り分けます。ifの後ろの条件がTrueの場合、それ以降のブロックが実行されます。
x = 10
if x == 10:
print('xは10です')
xが10の場合、xは10ですと表示される処理が実行されます。
条件がFalseの時に実行される処理がある場合はelse:
を利用します。また、条件が複数ある場合はelif:
を利用します。
x = 10
if x == 10:
print('xは10です')
elif x > 10:
print('xは10より大きいです。')
else:
print('xは10より小さいです。')
行末にコロン(:
)を忘れないようにしましょう。
他言語経験者の方へ
:
Pythonにswich, case文はありません。必要な場合はif..elif..elif..
を利用しましょう。
if文の書き方¶
[条件]がTrueの場合のみ[処理]を実行する。
[処理]を記述する前にインデント(半角空白)をつける。
if 条件: 処理
等しいかは
==
を利用して比較する
x = 5 if x == 5: print(x)
上記の場合、xは5なので、5と表示される。
==
のような右辺と左辺を比較する演算を比較演算と言います。詳しくは、比較演算を参照ください。
複数の条件を組み合わせる場合は
and
、or
を利用します。
x = 5 if x > 3 and x < 8: print('xは3より大きく、8より小さい')
詳しくは、ブール演算を参照ください。
リストの要素にxが含まれるかは
if x in list:
でチェックできます。
a = [1, 2, 3] x = 2 if x in a: print('ok')
逆に含まれない場合は
if x not in list:
とinの前にnotをつけます。
a = [1, 2, 3] x = 2 if x not in a: print('ng')
辞書のキーにxが含まれるかは
if x in dict:
でチェックできます。
d = {'a':'Hello', 'b': 'World'} if 'a' in d: print(d['a'])
値が存在しない状態を表すNoneか判定するには
if x is None:
とisを利用します。
x = None if x is None: print('xはNone')
逆にNoneじゃないの場合は
if x is not None:
とisの後ろにnotをつけます。
x = 'Hello' if x is not None: print('xはNoneじゃない')
メモ¶
書籍などで、条件が成り立つ場合を真(しん)、成り立たない場合を偽(ぎ)と表現する場合もあります。True, Falseの直訳のようです。