ぱそくま ろご
開発 > Python > 条件文 - if

Pythonの条件文 - if文

条件文 - if文

条件文は「if <条件;> [and | or <条件;>]:」と記述します。 分岐は「elif」または「else」を使います。

例:Pythonのif文 - 1

# -*- coding: utf-8 -*-
# file : ifstatement.py
x = 10

# 値がないという値:NullはPythonではNone
if x is None:
    print('xはnull')
elif x < 10:
    print('xは10より大きい')
elif x > 10:
    print('xは10より大きい')
elif x == 10:
    print('xは10')
else:
    print('xは' + str(x))

実行例

[paso ~] python3 ifstatement.py 
xは10

if文で使用できる比較演算子は以下のとおりです。

  • < : より大きい(超過)
  • <= : 以上
  • > : より小さい(未満)
  • >= : 以下
  • == : 等しい
  • != : 等しくない


if文は複数の条件を1度に指定することが可能です。各条件はand または orでつなげます。

例:Pythonのif文 - 複数条件

# -*- coding: utf-8 -*-
# file : ifstatement2.py
x = 10
y = 10

# AND条件
if 0 > x and 0 > y:
    print('xもyも負の数')
# OR条件
if 0 > x or 0 > y:
    print('xまたはyが負の数')
# 比較演算子は連続して書くことが可能
elif 0 <= x <= 10 and 0 <= y <= 10:
    print('xもyも0 〜 10の間')
else:
    print('その他')

実行例

[paso ~] python3 ifstatement2.py 
xもyも0 〜 10の間

3項演算子

3項演算子は条件に一致する時とそれ以外の時で返したい値を変えたい場合に使用する演算子です。(if 〜 elseを1行で書く方法です。) 構文は「<真の時の値> if <条件> else <偽の時の値>」となります。 なお、3項演算子はあくまでも演算子であって、制御文ではありません。乱用すると可読性が低下することに留意して利用ください。

例:Pythonの3項演算子

# -*- coding: utf-8 -*-
# file : ternary_operator.py
x = 10
y = 5

# xとyを比較し、結果を代入
ret = '同じ' if x == y else '違う'
print(ret)

# if文で書くと
# if x == y:
#    ret =  '同じ'
# else:
#    ret =  '違う'

# yにxと同じ値を代入。
y = 10

# xとyを比較し、結果を代入
ret = '同じ' if x == y else '違う'
print(ret)

実行例

[paso ~] python3 ternary_operator.py 
違う
同じ