からだのブログ

五体満足に生まれてきたことに感謝してブログの名前を「からだ」にしました。

からだのブログ header image 2

Python をちょっぴりよくするアイディア

5月 29th, 2010 · No Comments · programming

Python はインデンテーションが肝心だ。行頭のタブがなくなるとコードが壊れる。

ところで、Web の BBS には、行頭のインデンテーションを全部取り除いてしまうものがある。 こういう BBS は Python のコードを載せるのに非常に都合が悪い。

全角スペースで逃げるという手もあるけど、そのままコピペできないので面倒。というか、コードに全角スペースはできる限り入れない方がいい。ろくでもない結果を産むことが目に見えている。

BBS の実装でなんとかするという手もあるけど、 Python 側でこう対応すればいいんじゃね、というのを考えてみた。

def factorial(x):
___ if x == 0:
_______ return 1
___ else:
_______ return x * factorial(x - 1)

みたいな感じで。n 個のタブを、行頭から連続する「3 + 4 * (n – 1)」個のアンダースコア、1個のスペースと可換にする。

Tags: