Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python의 전역 키워드

<시간/>

파이썬 프로그램의 다른 변수는 범위가 다릅니다. 선언된 위치에 따라 변수는 함수 내에서 액세스할 수 있거나 액세스할 수 없습니다. 때로는 현재 범위 외부에서 함수 내부에 있는 변수를 수정해야 합니다. 이러한 시나리오에서는 변수 이름과 함께 전역 키워드를 사용합니다.

다음은 글로벌 키워드에 대한 요점입니다.

  • 함수 외부에서 선언된 변수는 기본적으로 전역 변수입니다.

  • 우리는 수정될 수 있도록 함수 내부에 있는 변수에 대해 전역 키워드를 사용합니다.

  • 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