お前は何を言ってるんだ?

def prettyprint(d, lv=0):
  print ' '*lv + '{'
  for k, v in d.items():
    if isinstance(v, dict):
      print '%s%r:' % (' ' * (lv + 1), k)
      prettyprint(v, lv + 1)
    else:
      print '%s%r:%r' % (' ' * (lv + 1), k, v)
  print ' '*lv + '}'


ところで再帰ハブの流れなん?