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

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

[code lang="python"]

>>> foo = "hoge"

>>> bar = "fuga"

>>> hogefuga = "spam"

>>> foo + bar

'hogefuga'

>>> eval(foo + bar)

'spam'

[/code]

ってことができので、こんなこともできるわけで、

[code lang="python"]

>>> 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

[/code]

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