인프런 커뮤니티 질문&답변
n개의 변수를 한번에 지정하는 방법이 있을까요?
작성
·
207
답변 1
4
남박사
지식공유자
일단 파이썬의 setattr 함수를 사용해서 가능은 합니다.
import sys
# 현재 모듈을 변수화 합니다.
module = sys.modules[__name__]
# 루프를 돌며 현재 모듈에 속성을 설정합니다.
# 여기서 속성이 해당 모듈의 변수가 됩니다.
for i in range(5):
setattr(module, "a_{}".format(i), 0)
# 위에서 저장한 변수를 출력합니다.
for i in range(5):
print("변수: a_{}:{}".format(i, eval("a_{}".format(i))))
그러나!! 개인적으로 이렇게 사용하는걸 추천하진 않습니다. 딕셔너리, 리스트, 맵, 튜플 등 파이썬에는 사용하기 편한 훌륭한 자료형태들이 많은데 이렇게 사용할 이유가 없어보입니다. 변수 지정을 하고나서도 차후 코드에서 사용할때 항상 복잡한 문제가 생길것 같습니다. 물론 개인적인 의견일 뿐입니다. ^^;;





