2つの文字列を連結して変数として扱う

eval関数を使うと文字列と文字列を連結して1つの変数として表すことができます。


こんなふうに書けるので、

>>> foo = "hoge"
>>> bar = "fuga"
>>> hogefuga = "spam"
>>> foo + bar
'hogefuga'
>>> eval(foo + bar)
'spam'

こんなこともできるわけで、

>>> p1 = "Python"
>>> p2 = "Perl"
>>> p3 = "Ruby"
>>> p4 = "Scala"
>>> p5 = "Java"
>>> for i in range(1, 6):
...     print eval("p" + str(i))
... 
Python
Perl
Ruby
Scala
Java

同じ名前の要素を添字を使って繰り返すときなど、ウェブ開発の時に結構便利になります。