Python 制御構文

インデントとブロック

  • Python ではインデントが文法上の意味を持っている
  • C において iffor のブロックを {} で囲うように、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

  • else ifelif と表記する。
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 でも breakcontinue が使える。