파이썬 프로그램의 다른 변수는 범위가 다릅니다. 선언된 위치에 따라 변수는 함수 내에서 액세스할 수 있거나 액세스할 수 없습니다. 때로는 현재 범위 외부에서 함수 내부에 있는 변수를 수정해야 합니다. 이러한 시나리오에서는 변수 이름과 함께 전역 키워드를 사용합니다.
다음은 글로벌 키워드에 대한 요점입니다.
-
함수 외부에서 선언된 변수는 기본적으로 전역 변수입니다.
-
우리는 수정될 수 있도록 함수 내부에 있는 변수에 대해 전역 키워드를 사용합니다.
-
global 키워드가 없으면 함수 내부의 변수는 기본적으로 로컬입니다.
글로벌 없음
아래 예에서는 전역 키워드 없이 변수 변경이 발생하는 방법을 볼 수 있습니다. 이것은 global 키워드가 다음 프로그램에서 어떤 차이를 만드는지 이해하는 데 도움이 됩니다. 아래 예제에서 우리는 함수 내부의 전역 변수를 수정하려고 합니다. 하지만 함수 내에서 전역 변수를 수정할 수 없기 때문에 오류가 발생합니다.
예시
var = 321 # function to modify the variable def modify(): var = var * 2 print(var) # calling the function modify()
출력
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
UnboundLocalError: local variable 'var' referenced before assignment
글로벌과 함께
이제 전역 키워드와 함께 함수 내부에 변수를 선언합니다. 이렇게 하면 변수를 수정할 수 있습니다.
예시
var = 321 # function to modify the variable def modify(): global var var = var * 2 print(var) # calling the function modify()
출력
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
642
중첩 함수 내 전역
중첩된 함수를 사용해야 하는 경우 변수를 수정할 수 있도록 내부 함수에서 전역 키워드를 선언해야 합니다.
예시
def outer_func(): var = 321 # function to modify the variable def modify(): global var var = var * 2 print(var) # calling the function modify() outer_func()
출력
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
642