당당한 프로그래밍/파이썬

[Python] 파이썬 변수 반복 생성 (feat. for 문)

당당한하수 2022. 2. 3. 20:54

내장 함수 locals()와 globals()를 사용하면, 자동으로 변수 생성이 가능하다.

각 함수는 선언되어 있는 변수들을 저장하고 있는 Dict를 반환한다.
변수를 선언한다는 것은 locals() 혹은 globals() 가 return 하는 Dict에 새로운 Key와 Value를 추가한다는 것과 같은 의미로 볼 수 있다.

따라서 globals()[key] = value 를 하게 되면, global key = value 와 동일한 행위가 된다.

global a
a = 2
# globals() = {'a':2}

globals()['b'] = 3
# globals() = {'a':2,'b:3'}

따라서, 아래와 같이 for문을 사용하여 복수 개의 변수를 쉽게 선언할 수 있다.

ex) a_1 = 1, a_2 = 2, ..., a_10 = 10 

for i in range(1,11):
	locals()['a_{}'.format(i)] = i
    
 # a_1 = 1, a_2 = 2, ..., a_10 = 10

 

 

locals()와 globals() 내장 함수로 선언된 변수들의 선언 및 호출 가능한 위치는 개인적으로 사용하면서 익히는 방법을 추천합니다.