p1 = 'spam' p2 = 'spam' p3 = 'spam' は、 >>> for i in range(1,4): ... locals()["p" + str(i)] = 'spam' ... >>> p1 'spam' >>> p3 'spam' や、 >>> for i in range(1,4): ... globals()["p" + str(i)] = 'spam' ... >>> p1 'spam' >>> p3 'spam' と書ける。 evalではこうは行かない。 p1 = 'spam' p2 = 'spam' p3 = 'spam' の状態で、 >>> for i in range(1,4): ... print eval("p" + str(i)) ... spam spam spam こういうことは可能。(evalはexpress