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

Python의 전역 및 지역 변수?

<시간/>

변수에는 전역 변수와 지역 변수의 두 가지 유형이 있습니다.

전역 변수의 범위는 전체 프로그램이지만 지역 변수의 범위는 정의된 함수로 제한됩니다.

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