Python 制御構文
インデントとブロック
- Python ではインデントが文法上の意味を持っている
C
において if
や for
のブロックを {}
で囲うように、Python ではインデントを使ってブロックを表す。
if i < 0:
# ここが本文
print(u"i は 0 より小さい")
else:
# else の時はここが実行される
print(u"i は 0 以上")
# ここは if の外
print(u"i の値は関係ない")
if 文
if
の後ろに条件式を書く。if
と :
に挟まれた部分が条件式となる。この全体に対しては括弧はいらない。
if i < 0:
# ここが本文
print(u"i は 0 より小さい")
else:
# else の時はここが実行される
print(u"i は 0 以上")
# ここは if の外
print(u"i の値は関係ない")
else if
if i == 0:
print("i == 0")
elif i < 0:
print("i < 0")
else:
print("0 < i")
for 文
- Python の
for
は C の for
とは違う。
- C# でいうところの
foreach
と同じものである。
- フォーマットは↓の通り。
for f in files:
pass
for d in ["one", "two", "three"]:
print(d)
# one
# two
# three
# と表示される。コレクションの中身が順番に変数に入っていく。
- ループ全体を中断する場合は
break
- ループ全体は継続したまま、今回分を飛ばすときは
continue
for d in ["one", "two", "three"]:
if d == "two":
break
print(d)
# one
for d in ["one", "two", "three"]:
if d == "two":
continue
print(d)
# one
# three
while 文
while
は以下のフォーマット
condition
のところに条件式を書く
condition
全体を ()
でくくる必要はないが、:
は必要。
while condition:
pass
while
でも break
と continue
が使える。