コードブロックとインデント

Pythonの特徴と言えば、インデントでコードブロックを表すと言うもの。でも、これがいいのか悪いのかわからないことがある。
コードを書いているときに、後からブロック全体に対して、条件文を付けたいときや、逆に消したい時に、ある文がどのコードブロックに属しているのかわからなくなることがある。例えば、

def loop(a, b):
  for x in range(a..b):
    print x
  print "End"

と言う時に、aとbの大小比較チェックを入れないといけない、となった場合、

def loop(a, b):
  if a < b:
    for x in range(a..b):
      print x
  print "End"  # ありゃ、この文て、for文の中だっけ? 外だっけ?

てな場合。コードを読めばわかるんだけど、久しぶりに見るコードだと、どっちに属してたのか、Undoしないとわからないことがある。
これが、PerlとかRubyだったら、ブロックで囲まれてるんだから、いちいちコードを読まなくても、どこのコードブロックに属しているのかが一目瞭然なんだけど。この悩みはPythonには付きものなのか?