본문 바로가기
programming/Python

파이썬 global 키워드 스코프를 전역으로 확대

by 개코 - 개발과 코딩 2021. 11. 23.

파이썬 global 키워드는 지역변수의 스코프를 전역변수의 스코프로 접근 범위를 확대한다. 쉽게 말해 지역변수의 값을 전역변수에 설정할 수 있다. global 키워드는 다른 프로그래밍 언어에서도 사용되고 있기도 하다. 물론, 그 사용빈도수는 적을 수 있지만, 파이썬 개발을 하는 경우 간혹 사용될 수 있다. 익혀두도록 하자.

파이썬 global 키워드 스코프를 전역으로 확대

파이썬 개발을 할 때 전역변수로 활용하는 주요 변수의 값을 변경하고 싶을 때가 있다.

파이썬 global 키워드는 함수 내에서 활용한 변수의 스코프를 전역변수에 스코프하여 접근할 수 있도록 한다.

무슨 말이야.

지역변수를 전역변수처럼 활용할 수 있다는 것이다.

말이 좀 이상하지만 코드를 보면 이해할 수 있다.

사용방법

함수 내에 사용한 변수의 스코프는 함수 내에서만 접근이 용이하다.

이 변수를 전역변수에 접근하기 위해 스코프를 전역변수에 지정할 필요가 있다.

이 때는 파이썬 global 키워드를 사용하여 스코프를 전역변수에 지정하도록 하면 된다.

쉽게 말해 전역변수와 동일한 지역변수를 global 키워드를 사용하여 전역변수에 접근할 수 있도록 하는 것이다.

vScope = "전역"

def fnGlobalScope() : #-{
    
    global vScope
    
#-}

샘플코드

위의 코드를 기준으로 간단한 코드를 작성해 본다.

당연하겠지만 스코프를 활용하기 위해 전역변수명과 지역변수명은 동일해야 한다.

파이썬 global 키워드를 사용하여 스코프를 전역변수에 접근시키도록 해 본다.

코드가 좀 길어보인다.

다른 건 지나가고 global 키워드만 살펴보자.

print("----------")

vScope = "전역"

def fnLocalScope() : #-{
    
    vScope = "지역"
    print("fnLocalScope", type(vScope), vScope)
    
#-}

def fnGlobalScope() : #-{
    
    global vScope
    vScope = "지역"
    print("fnGlobalScope", type(vScope), vScope)
    
#-}

print(type(vScope), vScope)

print("----------")

fnLocalScope()
print(type(vScope), vScope)

print("----------")

fnGlobalScope()
print(type(vScope), vScope)

print("----------")

결과화면을 보자

파이썬 global 키워드를 사용하고 안하고의 차이가 있다.

마지막 결과를 보면 지역변수의 스코프가 전역변수에 설정되어 값이 변경된 것을 알 수 있다.

반응형

댓글