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と表示される。 ==のような右辺と左辺を比較する演算を比較演算と言います。

    詳しくは、比較演算を参照ください。

    • 複数の条件を組み合わせる場合はandorを利用します。

    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の直訳のようです。

当コンテンツの知的財産権は株式会社ビープラウドに所属します。詳しくは利用規約をご確認ください。