2013-05-21 3 views
0

easygui를 사용하여 사용자의 정수 목록을 가져옵니다. I가 그 목록을 변환 할목록을 python의 변수로 변환하십시오. 3

fieldValues = [1,2] 

: 그것은이 같은 출력

var1 = 1 
var2 = 2 
+11

을. 실제로 그 (것)들과 무엇을하려고합니까? – Blender

+0

@Blender가 말했듯이, 당신이 할 수있는 일은 다음과 같습니다. 'for valValue : locals() ['val {0} '. format (val)] = val'. 그러나 다시, 당신은 그것을하고 싶지 않습니다. – sberry

+2

fieldValues ​​[0] 및 fieldValues ​​[1]을 사용하지 않는 이유는 무엇입니까? –

답변

0

당신은 변환 할 수 있습니다 이유

이유 중 하나 (더 명확하게 내 이유를 설명하기 위해 수정 됨) 변수에 대한 목록은 코드를 좀 더 자체적으로 문서화하는 것입니다. 예를 들어, password과 같은 변수는 fieldValue[3]보다 이해하기 쉽습니다.

그러나 @Blender가 제안했듯이 목록의 요소를 개별 변수에 할당하지 않는 것이 좋습니다.

두 가지 목표를 달성하는 한 가지 방법은 번호가 아닌 이름으로 목록의 요소를 참조하는 것입니다. 다른 언어로는 열거 형 변수 (예 : Java 또는 C#의 경우 enum)를 사용할 수 있습니다. 당신은 충분히 강력한 솔루션을 파이썬에서 enum 패키지를 사용할 수 있습니다 또는 당신은 같은 것을 할 수있는 : 당신은 아마 그렇게하고 싶지 않아

username, password = range(2) 
print(fieldValue[username]) 
+0

좀 혼란스럽지 않습니까? – Blender

+1

@Blender :'var1'과 같은 변수 이름과 혼동 될 수 있다는 점에 동의하지만, GUI에서 반환되는 값과 관련된보다 의미있는 이름을 사용하면 코드를보다 쉽게 ​​읽을 수 있습니다. 나는'fieldValue [password]'가'fieldValue [3]'보다 유지 관리가 더 쉽다고 생각한다. – Simon

+0

업데이트에 관하여 :'fieldValue [username]'은 파이썬 코드에서 많이 볼 수있는 것이 아닙니다. 'username'만으로도 좋을지 모르지만 그런 상수를 저장하는 것은 흔한 일이 아니며 오도 할 수 있습니다. – Blender