본문 바로가기
programming/Python

파이썬 스코프 변수명에 따른 접근 유효 범위

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

스코프는 변수에 접근할 수 있는 유효 범위를 말한다. 함수 내에 변수가 있다면 파이썬의 스코프는 함수 내의 변수를 바라본다. 함수 밖에서 선언된 변수는 어떤 위치에 있던 스코프는 그것을 바라본다. 변수의 이름이 같다면 함수 내에 있는 변수를 바라보는 스코프가 우선순위가 높다.

파이썬 스코프 변수명에 따른 접근 유효 범위

파이썬 스코프에 여러차례 언급하고 있는 것 같다.

스코프를 몰라도 파이썬 개발에 문제가 생기는 것은 아니다.

다만, 전역변수 지역변수에 대한 차이만 알면 되지만 말이다.

아는 것과 모르는 것의 차이가 있겠지만 뭐 알면 좋은게 스코프이기도 하다.

같은 변수명에 대한 스코프 범위

전역변수와 지역변수의 변수명이 같을 경우 변수의 접근 스코프는 지역변수부터 접근한다.

이것을 쉽게 설명한 것이 함수이다.

변수를 공부했을 때를 생각해 보자.

지역변수는 함수 내에 있는 변수는 함수 내에서만 접근이 가능하다.

전역변수는 함수 밖에서 함수 내에서 접근이 가능하다.

이것만 알면 스코프의 접근 범위는 이해하는 것과 같다. 

샘플코드

스코프를 설명하면서 아래의 코드만 이해하면 스코프를 알고 있다고 해도 무방하다.

전역변수와 지역변수의 차이를 알 수 있다.

이것으로 지역 스코프와 전역 스코프가 어떻게 접근되고 있는지를 알 수 있다.

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

vScope = "전역"

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

print(type(vScope), vScope)

fnScope()

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

전역변수와 지역변수의 이름이 같다.

하지만 변수를 접근하는 스코프의 유효 범위는 다르다.

함수 내에 있는 변수는 지역변수로써 함수내에서만 접근할 수 있다.

전역 변수는 함수 내와 밖에서 접근이 가능하다.

반응형

댓글