전역 변수란 무엇입니까?
전역 변수는 함수 외부에서 선언되지만 함수 내부에서 사용해야 하는 변수입니다.
예
def func(): print(a) a=10 func()
출력
10
여기서 변수는 전역입니다. 함수 외부에서 선언되어 함수 내부에서도 사용할 수 있습니다. 따라서 변수의 범위는 전역입니다.
함수 내부에 전역 변수와 같은 이름의 변수를 생성하면 어떻게 되는지 살펴보겠습니다.
위의 예에서 변수 a는 함수 외부에 선언되어 있으므로 전역 변수입니다.
함수 내에서 같은 이름의 다른 변수를 다른 값으로 선언하는 경우. 그 변수는 함수의 지역 변수로 작동하고 그 범위는 함수 내부로 제한됩니다. 함수 외부에서 전역 변수는 원래 값을 유지합니다.
예제를 통해 더 잘 이해할 수 있습니다.
예
a=10 def func(): a=5 print("Inside function:",a) func() print("Outside function:",a)
출력
Inside function: 5 Outside function: 10
위의 예에서 a는 값이 10인 전역 변수입니다. 나중에 func()가 호출됩니다.
func() 내부에서 범위가 함수 내부로만 제한되는 다른 값으로 다른 변수가 선언됩니다. 따라서 의 값이 나중에 함수 외부에 인쇄될 때 10인 전역 변수와 동일한 원래 값을 전달합니다.
키워드:글로벌
global 키워드는 함수 내에서 전역 변수를 선언해야 할 때 사용됩니다.
함수 내부에 선언된 일반 변수의 범위는 함수 끝까지입니다.
단, 함수 외부에서도 변수를 사용하고 싶다면 변수를 선언하면서 global 키워드를 사용하세요.
예제 구현의 도움으로 둘의 차이점을 이해하십시오.
예
def func(): a=5 print("Inside function:",a) func() print("Outside function:",a)
출력
Inside function: 5 Traceback (most recent call last): print("Outside function:",a) NameError: name 'a' is not defined
위의 예에서 의 값은 지역 변수이므로 함수 외부에서 액세스할 수 없습니다. 따라서 외부 함수의 값에 액세스하면 예외가 발생합니다.
글로벌 키워드 사용
위의 예에서 발생한 예외는 전역 키워드를 사용하여 변수 a를 선언하면 해결할 수 있습니다.
예
def func(): global a a=5 print("Inside function:",a) func() print("Outside function:",a)
출력
Inside function: 5 Outside function: 5
위의 예에서 변수 a는 전역 변수이므로 해당 값은 함수 외부에서도 액세스할 수 있습니다.