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

Python 프로그램의 전역 키워드

<시간/>

때때로 우리는 변수를 선언하지만 현재 프로그램의 어느 곳에서나 선언의 현재 범위를 벗어나는 값을 수정하거나 액세스해야 할 수도 있습니다. 이러한 시나리오에서는 변수가 선언된 함수 내에서 변수 이름과 함께 Global 키워드를 사용합니다. 변수가 함수 내부에 없으면 자동으로 전역 범위가 됩니다.

함수 외부의 변수

아래 예에서 우리는 함수 외부의 값을 보았지만 함수 내부에서 접근할 수 있습니다. 이러한 변수는 이미 전역 범위이기 때문입니다.

예시

x = 56
def func():
y = x *2
   return y
print(func())

위의 코드를 실행하면 다음과 같은 결과가 나타납니다.

출력

112

함수 내부의 변수

다음 예에서는 함수 내부의 변수 값을 변경하려고 시도하고 오류가 발생합니다.

예시

x = 56
def func():
   y = x *2
   x = x+2
      return y
print(func())

위의 코드를 실행하면 다음과 같은 결과가 나타납니다.

출력

nboundLocalError: local variable 'x' referenced before assignment

함수 내에서 전역 범위의 변수 값을 수정할 수 있는 유일한 방법은 함수 내에서 전역 변수로 선언하는 것입니다.

예시

x = 56
def func():
global x
   x = x + 2
   y = x *2
      return y
print(func())

위의 코드를 실행하면 다음과 같은 결과가 나옵니다.

출력

116

중첩 함수 내부의 변수

중첩 함수의 경우 아래 예제와 같이 가장 안쪽 함수에 전역 변수를 생성합니다.

예시

def func_out():
   x = 56
   def func_in():
      global x
      x = 20
      print("x is: ",x)
      x = x + 3
      y = x *2
      print ("y is: ",y)
   func_in()
func_out()
print("x is: ",x)

위의 코드를 실행하면 다음과 같은 결과가 나타납니다.

출력

x is: 20
y is: 46
x is: 23