python
이 자습서에서는 Python 전역 변수, 지역 변수, 비지역 변수 및 사용 위치에 대해 알아봅니다.
Python에서 함수 외부 또는 전역 범위에서 선언된 변수를 전역 변수라고 합니다. 즉, 전역 변수는 함수 내부 또는 외부에서 액세스할 수 있습니다.
파이썬에서 전역 변수를 생성하는 방법의 예를 살펴보겠습니다.
x = "global"
def foo():
print("x inside:", x)
foo()
print("x outside:", x)
출력
x inside: global x outside: global
위의 코드에서 x를 생성했습니다. 전역 변수로 정의하고 foo()
전역 변수 x를 인쇄하려면 . 마지막으로 foo()
x 값을 출력합니다. .
x 값을 변경하려는 경우 함수 안에?
x = "global"
def foo():
x = x * 2
print(x)
foo()
출력
UnboundLocalError: local variable 'x' referenced before assignment
Python이 x를 처리하기 때문에 출력에 오류가 표시됩니다. 지역 변수 및 x foo()
안에도 정의되어 있지 않습니다. .
이 작업을 수행하기 위해 global
을 사용합니다. 예어. 자세히 알아보려면 Python 글로벌 키워드를 방문하세요.
함수의 본문 또는 지역 범위에서 선언된 변수를 지역 변수라고 합니다.
def foo():
y = "local"
foo()
print(y)
출력
NameError: name 'y' is not defined
로컬 변수 y에 액세스하려고 하기 때문에 출력에 오류가 표시됩니다. 전역 범위에서 로컬 변수는 foo()
내에서만 작동합니다. 또는 지역 범위.
파이썬에서 지역 변수를 생성하는 방법에 대한 예를 살펴보겠습니다.
일반적으로 함수 내부에 변수를 선언하여 지역 변수를 생성합니다.
def foo():
y = "local"
print(y)
foo()
출력
local
x가 있는 이전 문제를 살펴보겠습니다. 전역 변수였고 x를 수정하고 싶었습니다. foo()
내부 .
여기서는 동일한 코드에서 전역 변수와 지역 변수를 사용하는 방법을 보여줍니다.
x = "global "
def foo():
global x
y = "local"
x = x * 2
print(x)
print(y)
foo()
출력
global global local
위의 코드에서 x를 선언합니다. 전역 및 y foo()
의 지역 변수로 . 그런 다음 곱셈 연산자 *
을 사용합니다. 전역 변수 x 수정 그리고 우리는 x를 모두 인쇄합니다. 및 y .
foo()
를 호출한 후 , x의 값 global global
이 됩니다. x * 2
를 사용했기 때문에 두 번 인쇄하려면 global
. 그런 다음 지역 변수 y의 값을 출력합니다. 즉, local
.
x = 5
def foo():
x = 10
print("local x:", x)
foo()
print("global x:", x)
출력
local x: 10 global x: 5
위의 코드에서는 x와 같은 이름을 사용했습니다. 전역 변수와 지역 변수 모두에 대해. 변수가 두 범위, 즉 foo()
내부의 로컬 범위에서 선언되기 때문에 동일한 변수를 인쇄할 때 다른 결과를 얻습니다. foo()
외부의 전역 범위 .
foo()
안에 변수를 출력할 때 local x: 10
을 출력합니다. . 이것을 변수의 로컬 범위라고 합니다.
마찬가지로 foo()
외부에 변수를 인쇄할 때 , 출력
global x:5
. 이것을 변수의 전역 범위라고 합니다.
비지역 변수는 지역 범위가 정의되지 않은 중첩 함수에서 사용됩니다. 이는 변수가 로컬 범위나 전역 범위에 있을 수 없음을 의미합니다.
파이썬에서 비지역 변수를 사용하는 방법의 예를 살펴보겠습니다.
nonlocal
을 사용합니다. 비지역 변수를 생성하는 키워드.
def outer():
x = "local"
def inner():
nonlocal x
x = "nonlocal"
print("inner:", x)
inner()
print("outer:", x)
outer()
출력
inner: nonlocal outer: nonlocal
위의 코드에는 중첩된 inner()
이 있습니다. 기능. nonlocal
을 사용합니다. 비지역 변수를 생성하기 위한 키워드. inner()
함수가 다른 함수 outer()
의 범위에 정의되어 있습니다. .
참고 :로컬이 아닌 변수의 값을 변경하면 로컬 변수에 변경 사항이 나타납니다.
python
파이썬이란 무엇입니까? Python은 고급 객체 지향 프로그래밍 언어입니다. 동적 바인딩 및 타이핑과 결합된 데이터 구조가 내장되어 있어 신속한 애플리케이션 개발에 이상적인 선택입니다. Python은 또한 시스템 모듈화 및 코드 재사용을 허용하는 모듈 및 패키지에 대한 지원을 제공합니다. 코드가 거의 필요하지 않기 때문에 가장 빠른 프로그래밍 언어 중 하나입니다. 가독성과 단순성에 중점을 두고 있어 초보자에게 적합합니다. 이 Python vs Ruby 자습서에서는 다음을 배우게 됩니다. 파이썬이란 무엇입니까? 루비란 무엇입
파이썬 2란 무엇인가요? 파이썬 2 코드 개발 프로세스를 이전 버전보다 쉽게 만들었습니다. Python Enhancement Proposal(PEP)의 기술적 세부 사항을 구현했습니다. Python 2.7(2.x의 마지막 버전)은 더 이상 개발되지 않으며 2020년에 중단됩니다. 이 튜토리얼에서는 다음을 배우게 됩니다. 파이썬 2란 무엇입니까? 파이썬 3이란 무엇입니까? Python 2를 배워야 하는 이유는 무엇입니까? Python 3를 사용해야 하는 이유는 무엇입니까? 파이썬 2의 역사 파이썬 3의 역사 Pyt