Python

for문으로 변수 명 할당 (format, globals 함수)

샐님 2024. 5. 3. 10:27
728x90
반응형

for문을 사용해 sheet명을 부여하려고 한다. 

파이썬에서 변수명을 다르게 생성할수 있는지 알아 보았다.

format, globals 함수를 활용하면 가능하다고 한다. 먼저 format() 은 말그대로 {}안을 지정 값으로 변경해주는 함수이다. 

1.Foramt() 

#변수이름을 바꿔가면서 할당
# format 함수 & globals 함수 활용

#1. Format 함수 : 중괄호 {} 를 index 로 사용
A =9
B=3

val = "{}*{} ={}".format(A,B,A*B)
print(val)

# 문자도 가능
A = ['맑음','흐림','비']
val = "오늘의 날씨는 {}입니다.".format(A[0])
print(val)

<결과>

9*3 =27
오늘의 날씨는 맑음입니다.

#for 문 적용 
for i in A:
    val = "오늘의 날씨는 {}입니다".format(i)
    print(val)

<결과>

오늘의 날씨는 맑음입니다
오늘의 날씨는 흐림입니다
오늘의 날씨는 비입니다

 

globals는 변수의 이름을 바꿔주는 역할을 한다. 

2.Globals()

#globals 함수
A = ['월요일','화요일','수요일']
B = ['맑음','흐림','비']


#zip 함수 : 두 가지 리스트를 for문으로 풀어줄때 사용. 
for i,j in zip(A,B):
    globals()[i] = "{}의 날씨는 {}입니다.".format(i,j)
    print(globals()[i])

#출력 결과

#월요일의 날씨는 맑음입니다.
#화요일의 날씨는 흐림입니다.
#수요일의 날씨는 비입니다.

print(월요일)
#월요일의 날씨는 맑음입니다.
print(화요일)
#화요일의 날씨는 흐림입니다.

 

3. Format() 과 Globals()의 활용

#Format() 과 Globals() 활용
A = ['월요일','화요일','수요일']
B = ['맑음','흐림','비']
C = ['좋음','나쁨','보통']

for i,j in zip(C,range(len(C))):
    globals()['A{}'.format(str(j+1))] = "A{}의 기분은 {}입니다.".format(str(j+1),i)
    print(globals()['A{}'.format(str(j+1))]) 

#A1의 기분은 좋음입니다.
#A2의 기분은 나쁨입니다.
#A3의 기분은 보통입니다.

 

 

 

 

728x90
반응형