
Local & Global Variables
def test(x, y):
global a
a = 49
x, y = y, x
b = 53
b = 7
c = 135
# 예상1
print('Step1 : ', a, b, x, y)
a, b, x, y = 8, 13, 33, 44
# 함수 실행
test(23, 7)
# 예상2
print('Step2 : ', a, b, x, y)
Step1 : 49 7 7 23
Step2 : 49 13 33 44
Step1 (함수 내부)
global a로 인해 전역 변수 a가 변경됨 → a = 49x, y = y, x로 값 교환 → x = 7, y = 23b = 53 후 바로 b = 7로 다시 덮어씀 → b = 7a(49), b(7), x(7), y(23)Step2 (함수 외부)
global a로 변경된 a = 49는 전역적으로 반영됨b, x, y는 함수 내부 지역변수이므로 외부 값에 영향 없음a(49), b(13), x(33), y(44)