Python에서의 스코프 상호작용
외부(전역) 변수와 내부(지역) 변수가 동일한 이름을 가진 경우가 있습니다:
num = 1
def func():
num = 2
print(num)
이때 중요한 점은, 지역 num이
전역과 같은 이름을 가지고 있더라도
Python에게는 별개의 변수라는 것입니다.
이는 함수 내부에서 전역 num이
재할당되지 않고 원래 값을 유지한다는 의미입니다.
함수 func를 호출하면 콘솔에는
지역 num의 값만 출력되고,
print를 통해 출력하는 것은 전역
변수의 값입니다:
func() # 2를 출력함
print(num) # 1을 출력함
다음 코드의 실행 결과는 어떻게 될까요:
num = 10
def func():
num = 5
return num
func()
print(num)
다음 코드의 실행 결과는 어떻게 될까요:
num = 3
def func():
num = 4
return num
num = func()
print(num)
다음 코드의 실행 결과는 어떻게 될까요:
num = 1
def func():
num = 2
return 1
num = func()
print(num)
다음 코드의 실행 결과는 어떻게 될까요:
num1 = 1
def func():
num2 = 2
func()
print(num1)
다음 코드의 실행 결과는 어떻게 될까요:
num1 = 1
def func():
num2 = 2
func()
print(num2)
다음 코드의 실행 결과는 어떻게 될까요:
num1 = 1
def func():
num2 = 2
func()
num2 = 3
print(num2)
다음 코드의 실행 결과는 어떻게 될까요:
num1 = 1
num2 = 2
def func():
num2 = 3
func()
print(num2)
다음 코드의 실행 결과는 어떻게 될까요:
num1 = 1
def func():
num1 = 2
print(num1)