2013-03-10 4 views
-2

어떻게 사용자의 이름으로 파이썬에서 동적 변수를 만들 수 있습니까? 예를 들어 "John"이라는 사용자가 있으므로 "John"이라는 이름의 변수를 만들 것입니다. 변수는 john1, john2, john3입니다.Python의 동적 변수

+8

왜 사전을 사용하지 않습니까? 어떤 네임 스페이스가 변수가 * *에 정의되어 있어야합니까? –

+1

http://nedbatchelder.com/blog/201112/keep_data_out_of_your_variable_names.html –

+0

python에 배열이 있습니까? –

답변

2

아주 쉽지만 바람직하지는 않습니다. 나는 당신의 디자인을 다시보고, 사전이 더 나은 방법일지도 모른다라고 생각할 것이다.

var = 'John1' 
value = 42 

exec "%s = %d" % (var,value) 
exec "print %s" % (var) 

print (dir()) 

이 제공 : 당신이 질문을하기 때문에

그러나, 당신은 exec bultin 사용할 수 있습니다

42 
['John1', '__builtins__', '__doc__', '__file__', '__name__', '__package__', 'value', 'var'] 

(파이썬 2.7.3)

편집 : BrianOakley의 코멘트 @ 요점이있다. 이런 메커니즘을 사용하는 것은 알코올을 마시는 것과 조금 비슷합니다. 그 당시 좋은 생각이었고 일시적으로 문제를 해결했지만, 아침에 후회할 것입니다. 장기적으로 더 많은 슬픔을 느끼게되고, 당신은 당신 어머니가 당신을 좋아하지 않을 것임을 알고 있습니다.

+0

좀 더 강하게 스트레스를 받아서는 안됩니다. 이로 인해 코드를 이해하고 유지 관리하는 것이 상당히 어려워졌으며 추가 혜택이 전혀 없습니다. –

+0

@BryanOakley : 나는 질문에 답하고있다, 나는 코드 경찰이 아니다. – cdarke

+0

@BryanOakley : 답변의 끝에 꼬리표를 추가했습니다. – cdarke