条件分岐
Pythonでの条件分岐にはif文を使います。unless文はcase文はありません。
真偽
真 | 偽でないもの全て |
偽 | None, False, 0, "", ( ), [ ], { } |
論理演算子
not A | Aが偽なら真 |
A and B | AとBの両方が真なら真 |
A or B | AとBのどちらかが真なら真 |
if文
if a > 0 and b > 0: # この条件が成立すれば、以下のブロック文を実行 func_a() elif a > 0: # 上記の条件が成立しなければ、この条件を評価 # 成立すれば、以下のブロック文を実行 func_b() elif b > 0: # 同上 func_c() else: # 全ての条件が成立しなければ、以下のブロック文を実行 func_d()
Pythonではセミコロンがブロック開始の合図になります。そしてインデントによってブロックを判別します。(同じ深さのインデントの行は同じブロック)
基本的にはRubyやPerlのif文と同じですが、代入文を条件式に使うことはできません。
>>> if name = "hoge": File "<stdin>", line 1 if name = "hoge": ^ SyntaxError: invalid syntax
1行で書くこともできます。
if x > 0: func_a()
if not x > 0: func_b()