バッククォートでrepr

この記事は Python Tips Advent Calendar 2012 13日目の記事です。


Python2 だけですが、バッククォートは repr 関数と同じ意味になります。

>>> e = Exception('foo')
>>> repr(e)
"Exception('foo',)"
>>> `e`
"Exception('foo',)"

ただし、Python2 だけの構文であることからも分かるように、この機能は非推奨です*1
これは、『間違えようのない1つの方法があるのがいい』という Zen の教えと、バッククォートは一部のキーボードでは打ちにくいのと、バッククォートだと何をしているのかが分かりにくいという理由でそうなったようです。


ということでちゃんと repr 関数を使いましょう。


.

*1:list comprehension - What do backticks mean to the python interpreter: `num` - Stack Overflow によると、バッククォートを使ったほうが直接命令に落ちて速いらしいですが