変数名として「lst」や「dct」や「L」や「D」がどのくらい使われているか
せっかくなので、変数名として「lst」や「dct」がどのくらい使われているかを調べてみる。ターゲットは Python 標準添付ライブラリ。
### Python 2.5.4 $ cd /usr/local/lib/python2.5/ $ egrep '\blst\b' **/*.py | lv # けっこうある $ egrep '\blst\b' **/*.py | wc -l 92 $ egrep '\bdct\b' **/*.py | lv # 思ったより少ない $ egrep '\bdct\b' **/*.py | wc -l 16
「L」や「D」も調べてみたけど、ノイズが多くて正確にはわからない。かわりに、「L =」と「D =」と「S =」で調べてみた。
### Python 2.5.4 $ egrep '\bL *=\b' **/*.py | wc -l # やっぱり多い 78 $ egrep '\bD *=\b' **/*.py | wc -l # 少ねー! 1 $ egrep '\bS *=\b' **/*.py | wc -l # 少ねー! 10
Django 1.0.2 でも調べてみた。「lst」や「dct」はそれなりに使われているけど、「L」「S」「D」は使われてないっぽい。やるなあ。
$ cd Django-1.0.2-final/django/ $ egrep '\blst\b' **/*.py | wc -l 25 $ egrep '\bdct\b' **/*.py | wc -l 11 $ egrep '\bL *=\b' **/*.py | wc -l 0 $ egrep '\bD *=\b' **/*.py | wc -l 0 $ egrep '\bS *=\b' **/*.py | wc -l 0
今日の結論: Python では「dct」「lst」「L」「S」「D」というわかりにくい変数名がそれなりに使われている。これに違和感を感じなくなったら、あなたも立派な「訓練されたPythonista」。
#Pythonのdctやlstという変数名はLispのcarやcdrみたいなもん、言語特有のローカルルールやからつべこべ言わず使っとけ、と言われれば、そうかなとも思う。