作者: 機械伯爵 | |
日時: 2008/2/12(10:26) |
ども、機械す。 > vars()["var" + str(1)]またはlocals()["var" + str(1)]では > ないんでしょうか? 名前空間の辞書を直接参照して使う方法ですね。 もちろんソレでもいいと思いますし、私も名前空間を弄るのは大好き(をい)です ので、よく使います。 まぁただ、名前空間を参照するのは、若干……「暗黒側」かな?(笑) varsやlocalsはglobalsと違ってそんなに危険は無いし、参照だけで代入ではない ので、全く安心だとは思いますが、まぁ、名前辞書を意識するのって、その危険性 を自覚してから、のほうがいいかと思います(ここは初心者ブースですので) とかなんとか言って、昔の初心者MLで、ハッキングまがいのコードを書いてた 人間が言うセリフではありませんが(笑) あと、evalは結構便利なので、もっと活用してもいいかな、と思ったのもあり ます(py3kよりinput関数の定義が変更されますので、なお一層) どっちにせよ、この話の根っこは、「配列(リスト)覚えようよ」ってな話です ので、まぁ、どちらでも良いかと。 /機械伯爵/