변수에는 전역 변수와 지역 변수의 두 가지 유형이 있습니다.
전역 변수의 범위는 전체 프로그램이지만 지역 변수의 범위는 정의된 함수로 제한됩니다.
def func(): x = "Python" print(x) print(s) s = "Tutorialspoint" print(s) func() print(x)
위의 프로그램에서 x는 지역 변수인 반면 s는 전역 변수이며 정의된 함수 내에서만 지역 변수에 액세스할 수 있으며(위의 func()) 범위 외부에서 지역 변수를 호출하려고 하면(func()) 오류를 통해. 그러나 프로그램에 정의된 함수(func())를 포함하여 프로그램의 어디에서나 전역 변수를 호출할 수 있습니다.
로컬 변수
지역 변수는 해당 범위 내에서만 도달할 수 있습니다(위의 func()와 같이).
아래 프로그램과 같이 두 개의 지역 변수 x와 y가 있습니다.
def sum(x,y): sum = x + y return sum print(sum(5, 10))
출력
15
변수 x와 y는 함수 sum() 내부에서만 작동/사용되며 함수 외부에는 존재하지 않습니다. 따라서 범위 외부에서 지역 변수를 사용하려고 하면 NameError를 통해 발생할 수 있습니다. 따라서 분명히 아래 라인은 작동하지 않을 것입니다.
print(x)
전역 변수
전역 변수는 그 범위가 전체 프로그램이기 때문에 프로그램의 어느 곳에서나 사용할 수 있습니다.
아주 간단한 예를 들어 전역 변수를 이해합시다 -
z = 25 def func(): global z print(z) z=20 func() print(z)
출력
25 20
func()를 호출하면 전역 변수 값이 전체 프로그램에 대해 변경됩니다.
아래 예는 지역 및 전역 변수와 함수 매개변수의 조합을 보여줍니다. -
def func(x, y): global a a = 45 x,y = y,x b = 33 b = 17 c = 100 print(a,b,x,y) a,b,x,y = 3,15,3,4 func(9,81) print (a,b,x,y)
출력
45 17 81 9 45 15 3 4