作者: 機械伯爵
日時: 2008/2/12(10:26)
 ども、機械す。

> vars()["var" + str(1)]またはlocals()["var" + str(1)]では
> ないんでしょうか?

 名前空間の辞書を直接参照して使う方法ですね。

 もちろんソレでもいいと思いますし、私も名前空間を弄るのは大好き(をい)です
ので、よく使います。

 まぁただ、名前空間を参照するのは、若干……「暗黒側」かな?(笑)

 varsやlocalsはglobalsと違ってそんなに危険は無いし、参照だけで代入ではない
ので、全く安心だとは思いますが、まぁ、名前辞書を意識するのって、その危険性
を自覚してから、のほうがいいかと思います(ここは初心者ブースですので)

 とかなんとか言って、昔の初心者MLで、ハッキングまがいのコードを書いてた
人間が言うセリフではありませんが(笑)

 あと、evalは結構便利なので、もっと活用してもいいかな、と思ったのもあり
ます(py3kよりinput関数の定義が変更されますので、なお一層)

 どっちにせよ、この話の根っこは、「配列(リスト)覚えようよ」ってな話です
ので、まぁ、どちらでも良いかと。

 /機械伯爵/