Python

파이썬 변수이름 조합하는 방법이 궁금합니다.

by 심토지 posted Feb 01, 2023 Replies 2
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄
Extra Form

안녕하세요? 엑소프레소에서 파이선을 넣어서 이렇궁 저렇궁 만들고 보고 있습니다.

 

Output1 = 3232

위와 같이 하면 잘 작동합니다. 

 

i = 1

"Output" + str(i) = 3232

그런데 같은 효과를 보기 위해 위와 같이 하면 안되더라구요.

 

저렇게 사용하고 싶은 이유는 반복문에 넣어서 사용하기 위해섭니다. 

 

Output1 = 1

Output2 = 2

Output3 = 3

....

 

 

코딩에서는 기초적인 내용이라 아마 제가 무엇을 원하시는지 아실 것 같아요. 

답변부탁드립니다.

감사합니다.

 

  • ?
    심토지 2023.02.01 21:08

    검색어를 바꿔보니 해결되었습니다.

    for i in range(1, 10)

    globals()["Output{}".format(i)] = 0

     

    아직 개념은 잘 모르겠지만...

  • ?
    한시 2025.05.16 18:28

    밖에서 쓰려면 전역변수로 만들어줘야 하기 때문입니다.

       global Output1

       Output1 = 1

     

    하지만 global은 정적 변수명만 쓸수 있습니다. 동적 변수명을 쓰고 싶으면 globals()함수를 써야합니다.

       for i in range(3):

          globals()["Output"+str(i)] = i

     

    작성하신 "Output{}".format(i)는 숫자를 문자로 바꿔주는 포맷팅입니다. str()도 됩니다.

    globals()[f"Output{i}"] = i 로 쓰시면 더욱 깔끔하게 쓸 수 있습니다.

    이미 늦었지만 비슷한 문제를 겪으시는 분을 위해 댓글 남깁니다.