본문 바로가기
programming/Python

파이썬 전역 스코프 전역 변수의 접근 유효 범위 python global scope

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

전역 스코프는 파이썬에서 변수의 접근 유효 범위가 열려진 파일 전체 내용이다. 파이썬을 공부했다면 이미 지역변수와 전역변수의 차이를 알고 있다. 함수 내에 있는 변수는 함수내에서만 접근이 가능하다. 함수 밖에 있는 변수는 함수내에서 접근이 가능하고, 함수 밖에서도 가능하다. 이것이 지역변수이고 전역변수이며, 파이썬의 내부에서 변수를 바라보는 스코프는 지역 스코프, 전역스코프이다.

파이썬 전역 스코프 전역 변수의 접근 유효 범위
python global scope

파이썬의 전역 스코프는 전역변수와 관련이 있다.

변수는 지역변수와 전역변수가 있음을 누구다 다 아는 사실이다.

전역변수는 파일 내의 모든 구역에서 접근 가능하다는 것도 안다.

단지, 지역변수와 이름이 같을 때 난해할 수 있다.

사용방법

파이썬에서 전역변수는 보통 파일 내의 최상단에 작성해 준다.

뭐, 그게 편하긴 하지만 말이다. 중간에 전역변수를 넣어도 되긴 하지만 나중에 헷갈린다.

어쨌든 변수는 용도에 맞게 모아두는 것이 좋긴 하다.

전역변수를 선언하고 지역변수와 함께 사용하는 예는 많다.

이미 우리는 알고 있다.

전역변수를 선언하면 어디에서 사용하건 전역변수의 값이 출력된다는 것을 말이다.

전역 스코프는 어떤 범위에 있던 파일 내의 변수 접근 범위를 말한다. 

샘플코드

이전에 했던 내용과 같이 비교를 해 볼 것이다.

먼저 함수에는 전역변수를 출력할 메서드만 넣을 것이다.

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

vScope = "전역"

def fnScope() : #-{
    
    print(type(vScope), vScope)
    
#-}

print(type(vScope), vScope)

fnScope()

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

결과화면을 보자.

변수에 대한 전역 스코프를 알 수 있다.

함수 내에 있던 함수 밖에 있던 변수의 접근 범위는 넓다.

이것이 전역 스코프이고 변수는 전역변수라 불린다.

단, 전역변수와 지역변수의 이름이 같다면 지역 스코프가 우선이기 때문에 함수 내의 변수를 우선한다.

아래의 코드를 보자.

변수명은 같지만 변수에 접근하는 스코프의 차이가 있다.

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

vScope = "전역"

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

print(type(vScope), vScope)

fnScope()

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

결과화면을 보자.

변수의 위치에 따라 출력값이 다르다.

같은 변수명이라도 함수 내에 있다면 스코프의 우선 순위는 지역변수를 우선한다.

반응형

댓글