문자열 변수를 변수 이름으로 사용

중복 가능:

문자열이 할당된 변수가 있는데 해당 문자열을 기반으로 새 변수를 정의하고 싶습니다.

foo = "bar"
foo = "something else"   

# What I actually want is:

bar = "something else"
질문에 대한 의견 (4)

이를 위해 exec을 사용할 수 있습니다:

>>> foo = "bar"
>>> exec(foo + " = 'something else'")
>>> print bar
something else
>>> 
해설 (4)

대신 사전을 사용하면 훨씬 더 행복할 것입니다:

my_data = {}
foo = "hello"
my_data[foo] = "goodbye"
assert my_data["hello"] == "goodbye"
해설 (4)

setattr`을 사용할 수 있습니다.

name  = 'varname'
value = 'something'

setattr(self, name, value) #equivalent to: self.varname= 'something'

print (self.varname)
#will print 'something'

하지만 객체에 새 변수를 받도록 알려야 하므로 클래스 내부에서만 작동한다고 생각합니다.

해설 (1)