Python | if文で条件分岐をする

Python, Python 条件分岐

Pythonのif文を使って変数やリストやタプル、辞書などの配列・連想配列のデータ、trueやfaslseを比較して条件分岐させる方法になります。

比較演算子

Pythonでのif文で使われる比較演算子の一覧です。

a == baはbと等しい
a != baはbと等しくないか
a > baはbより大きいか
a < baはbより小さいか
a >= baはbと等しいか大きい
a <= baはbと等しいか小さい
a in baはbの中に存在するか
a not in baはbの中に存在しないか
a is NoneaはNullオブジェクトか
a is not NoneaはNullオブジェクトではないか

基本的なif文

Pythonでの基本的なif文の書式になります。

if 条件式:
    # 処理
elif 条件式:
    # 処理
else:
    # 処理

基本的なif文のポイント

  • 条件式の末尾に「:(コロン)」を記述
  • 処理行は行頭にインデントを入れる
  • インデントのないコードがある行にて各条件式から抜ける
  • 処理を行わない条件式がある場合は「pass」をインデント有りで記述

数値の比較

a = 1
b = 0

if a > b:
    print('aはbより大きい')
    
# 1です

文字列の比較

a = 'apple'
b = 'apple'

if a == b:
    print('aとbは等しい')

# aとbは等しい

ふたつのリスト(配列)の中身が一致しているかどうか

a = [1,2,3]
b = [1,2,3]

if a == b:
    print('aとbは等しい')
else:
    print('aとbは等しくない')

# aとbは等しい

この場合、リスト内の配列の順序も参照される、a = [1,2,3] b = [3,2,1]とすると不一致となる。

また、同じ値を持つリストa = [1,2,3]とタプルb = (1,2,3)で試した結果も不一致となった。

リストの値の中に存在するかどうか

list = [1,2,3]
num = 2

if num in list:
    print('listの値にnumは存在する')
else:
    print('listの値にnumは存在しない')

# listの値にnumは存在する

bool型で値がTrueかFalseか

variable = True

iif variable == True:
    print('True')
elif variable == False:
    print('False')
else:
    print('それ以外')

# True

変数の値が空文字を含むTrueまたはFalse以外のいずれであっても、TrueまたはFalseには判別されない。
未定義の変数を指定した場合は、変数の未定義エラー(exceptions.NameError)となる。

値が存在するかどうか

variable = 'Hello world'

if variable:
    print('存在します')
else:
    print('存在しません')

# 存在します

空のリスト[]や空の値のあるリスト["]とで結果が変わる(辞書なども)。
bool値のTrueは肯定され、Falseは否定される。
未定義の変数を指定した場合は、変数の未定義エラー(exceptions.NameError)となる。

文字列variable = 'Hello world’存在する
数値variable = 1存在する
0variable = 0存在する
空の文字列variable = ’’存在しない
リストvariable = [’1’]存在する
空のリストvariable = []存在しない
空の値のあるリストvariable = ["]存在する
bool値variable = True存在する
bool値variable = False存在しない
未定義の変数変数の未定義エラー
delで削除した後variable = 'Hello world’
del variable
変数の未定義エラー

Python, Python 条件分岐

Posted by Yousuke.U