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

Python 함수에서 변수 범위는 어떻게 작동합니까?

<시간/>

파이썬에서 변수는 값을 할당할 때 정의됩니다. 우리는 C 및 다른 언어에서 하는 것처럼 미리 선언하지 않습니다. 우리는 그것을 사용하기 시작했습니다.

x = 141

파일 또는 모듈의 최상위 수준에서 선언하는 모든 변수는 전역 범위에 있습니다. 함수 내에서 액세스할 수 있습니다.

변수는 작업을 수행하는 데 필요한 가장 좁은 범위를 가져야 합니다.

예시

주어진 코드에서

x = 141
def foo():
    x = 424 #local variable
    print x
foo()
print x

출력

424
141

설명

foo 내부의 x에 값 424를 할당할 때 실제로 해당 함수의 로컬 범위에서 x라는 새 로컬 변수를 선언합니다. 그 x는 전역 범위에서 x와 절대 관련이 없습니다. 함수가 종료되면 값이 424인 해당 변수는 더 이상 존재하지 않습니다. 따라서 두 번째 print x 문이 실행되면 x의 전역 값이 출력됩니다.

변수의 전역 값이 로컬 범위에서 유지되어야 하는 경우 전역 키워드는 코드에서 다음과 같이 사용됩니다.

예시

x = 141
def foo():
    global x
    x = 424
    print(x)
foo()
print(x)

출력

424
424