python
이 기사에서는 전역 키워드, 전역 변수 및 전역 키워드를 사용해야 하는 경우에 대해 알아봅니다.
이 기사를 읽기 전에 Python 전역, 지역 및 비지역 변수에 대한 몇 가지 기본 사항을 알고 있는지 확인하십시오.
<시간>
파이썬에서는 global
키워드를 사용하면 현재 범위 외부에서 변수를 수정할 수 있습니다. 전역 변수를 생성하고 로컬 컨텍스트에서 변수를 변경하는 데 사용됩니다.
global
의 기본 규칙 Python의 키워드는 다음과 같습니다.
global
을 사용할 필요가 없습니다. 키워드.global
를 사용합니다. 함수 내에서 전역 변수를 읽고 쓰는 키워드입니다.global
사용 함수 외부의 키워드는 효과가 없습니다.예를 들어보겠습니다.
c = 1 # global variable
def add():
print(c)
add()
위의 프로그램을 실행하면 다음과 같이 출력됩니다.
1
그러나 함수 내부에서 전역 변수를 수정해야 하는 몇 가지 시나리오가 있을 수 있습니다.
<시간>
c = 1 # global variable
def add():
c = c + 2 # increment c by 2
print(c)
add()
위의 프로그램을 실행하면 출력에 오류가 표시됩니다.
UnboundLocalError: local variable 'c' referenced before assignment
이는 전역 변수에만 액세스할 수 있고 함수 내부에서 수정할 수 없기 때문입니다.
이에 대한 해결책은 global
을 사용하는 것입니다. 키워드.
c = 0 # global variable
def add():
global c
c = c + 2 # increment by 2
print("Inside add():", c)
add()
print("In main:", c)
위의 프로그램을 실행하면 다음과 같이 출력됩니다.
Inside add(): 2 In main: 2
위의 프로그램에서 c를 정의합니다. add()
내부의 전역 키워드로 기능.
그런 다음 변수 c를 증가시킵니다. 2까지 , 즉 c = c + 2
. 그런 다음 add()
을 호출합니다. 기능. 마지막으로 전역 변수 c를 출력합니다. .
보시다시피 c = 2
함수 외부의 전역 변수에도 변경이 발생했습니다. .
Python에서는 단일 모듈 config.py
을 만듭니다. 전역 변수를 보유하고 동일한 프로그램 내에서 Python 모듈 간에 정보를 공유합니다.
다음은 파이썬 모듈에서 전역 변수를 공유하는 방법입니다.
config.py
생성 파일, 전역 변수 저장
a = 0
b = "empty"
update.py
생성 파일, 전역 변수 변경
import config
config.a = 10
config.b = "alphabet"
main.py
생성 파일, 값 변경 테스트
import config
import update
print(config.a)
print(config.b)
main.py
을 실행할 때 파일, 출력은
10 alphabet
위에서 config.py
세 개의 파일을 만들었습니다. , update.py
, 및 main.py
.
모듈 config.py
a의 전역 변수를 저장합니다. 및 b . update.py
에서 파일에서 config.py
을 가져옵니다. 모듈 및 a 값 수정 및 b . 마찬가지로 main.py
에서 파일에서 config.py
을 모두 가져옵니다. 및 update.py
기준 치수. 마지막으로 전역 변수의 값이 변경되었는지 여부를 인쇄하고 테스트합니다.
중첩 함수에서 전역 변수를 사용하는 방법은 다음과 같습니다.
def foo():
x = 20
def bar():
global x
x = 25
print("Before calling bar: ", x)
print("Calling bar now")
bar()
print("After calling bar: ", x)
foo()
print("x in main: ", x)
출력은 다음과 같습니다.
Before calling bar: 20 Calling bar now After calling bar: 20 x in main: 25
위의 프로그램에서 중첩 함수 bar()
안에 전역 변수를 선언했습니다. . foo()
내부 함수, x global 키워드에는 영향을 미치지 않습니다.
bar()
호출 전후 , 변수 x 지역 변수의 값을 취합니다. 즉, x = 20
. foo()
외부 함수, 변수 x bar()
에 정의된 값을 사용합니다. 함수 즉 x = 25
. global
를 사용했기 때문입니다. x의 키워드 bar()
내부에 전역 변수를 생성하려면 기능(로컬 범위).
bar()
내부에서 변경하면 함수에서 변경 사항은 로컬 범위 밖에 나타납니다(예:foo()
). .
python
파이썬에서 변수란 무엇입니까? Python 변수는 값을 저장하기 위해 예약된 메모리 위치입니다. 즉, 파이썬 프로그램의 변수는 처리를 위해 컴퓨터에 데이터를 제공합니다. Python 변수 유형 Python의 모든 값에는 데이터 유형이 있습니다. Python의 다양한 데이터 유형은 Numbers, List, Tuple, Strings, Dictionary 등입니다. Python의 변수는 어떤 이름이나 a, aa, abc 등과 같은 알파벳으로도 선언할 수 있습니다. 이 튜토리얼에서는 다음을 배울 것입니다. 변수 선언 및 사용 방
놓치신 경우:Python 2는 2020년 1월 1일부로 공식적으로 지원되지 않음 . 아직 Python 2.7을 사용 중이라면 지금 업그레이드하세요. . 실행 중인 버전이 확실하지 않은 경우 Python 버전을 확인하세요. 많은 패키지 유지 관리자가 Python 3으로 마이그레이션했습니다. 일부는 여전히 Python 2를 지원하고 다른 일부는 이미 Python 2 지원을 중단했습니다. Python 2 코드 기반에서 마이그레이션해야 하는 경우 Python 코드를 Python 3으로 마이그레이션하는 방법에 대한 가이드를 읽어보세요.