Pythonで可変変数
- ある変数の値を変数名として使用できる変数のことをperlでは可変変数と読んでいるようです。
% perl -e '$var1="var2"; $var2="Value of var2"; print "$$var1\n"' Value of var2 %
記号を使うと簡潔に表現でき、記号にも良い面があることが分かります。 - では、Python でこれを実現するにはどうすれば良いでしょうか? 具体的な例として、「年齢」という引数を受け取って、「年齢別件数」という名前の辞書を返す場合を考えます。マニュアルを見たり、インターネットを検索しても難解な解説ばかりで、インスタントな実現方法がなかなか見つかりません。
- evalを使うのが簡単だと思います。
1 var1 = 'var2' 2 var2 = 'Value of var2' 3 eval(var1) 4 'Value of var2'