Page 36 - 파이썬으로 배우는 컴퓨팅사고 도서 미리보기
P. 36
CHAPTER 9? 기술(Technology) 207
다음 프로그램에서 gv는 전역변수로 선언되었다. gv 변수는 func1() 함수 내에서 사용되었
지만 해당 함수 내에서 gv에 값을 대입하는 문장이 없으므로 전역변수로 참조된다.
gv = 3 # 전역변수 gv 선언
def func1(): # 지역변수 lv1 선언
lv1 = 1 # 지역변수 lv1의 값, 전역변수 gv의 값
lv1 = lv1 + gv # gv에 대입되는 문장이 없이 사용됨
print(lv1)
def func2(pv): # 매개변수 pv 선언
lv2 = pv # 지역변수 lv2 선언, 매개변수 pv의 값
print(lv2) # 지역변수 lv2의 값
func1() # 전역변수 gv의 값
func2(2)
print(gv)
실행결과
4
2
3
전역변수와 지역변수가 같은 이름으로 함수 내부에서 존재할 때 지역변수가 우선 사용된다.
gv = 3 # 전역변수 gv 선언
def func1(): # 지역변수 lv1 선언
lv1 = 1 # 지역변수 gv 선언
gv = 1 # 지역변수 lv1의 값, 지역변수 gv의 값
lv1 = lv1 + gv
print(lv1)
def func2(pv): # 매개변수 pv 선언
lv2 = pv # 지역변수 lv2 선언, 매개변수 pv의 값
print(lv2) # 지역변수 lv2의 값