본문 바로가기
programming/Python

파이썬 스코프 지역변수 전역변수의 관계 python scope

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

파이썬 스코프는 변수와 관련이 깊다. 지역변수와 전역변수에 관련이 있다. 이미 변수를 공부한 사람이라면 스코프에 대해 어렴풋이 공부하고 지나갔을 것이다. 명시적으로 공부하지 못했을 뿐이다. 쉽게 생각하자. 변수가 코드 전체 구역에서 접근이 가능하면 전역변수이고 전역 스코프이다. 변수가 함수 내부나 또는 클래스 내부와 같은 한정적인 공간에서만 접근이 가능하면 지역변수이고 지역 스코프이다.

파이썬 스코프 지역변수 전역변수의 관계

파이썬의 스코프는 변수와 관계가 있다.

지역변수와 전역변수에 대해 동일한 이름을 가진 변수명에 어디까지 접근할 수 있느냐 이기도 하다.

다른 언어들도 마찬가지로 지역변수와 전역변수가 있고, 그에 따라 접근할 수 있는 범위인 스코프가 존재한다.

지역변수와 전역변수와의 차이는 간단하다.

전역변수는 현재 파일의 전체에서 접근이 가능한 변수이다.

지역변수는 현재 파일 내의 함수와 같은 지정된 곳에서만 접근이 가능한 변수를 말한다.

스코프의 범위

파이썬을 공부할 때 이미 파이썬 변수에 대해 공부한 적이 있을 것이다.

변수부분을 공부하면 알게 모르게 알고 지나간 것이 스코프이다.

변수를 구분할 때 지역변수와 전역변수를 굳이 구분하여 사용한다.

전역변수는 전체 코드에서 접근이 가능하다.

지역변수는 함수 내 또는 클래스 내에서만 접근이 가능하다.

이 접근 가능한 범위에 따라 스코프가 달라진다.

물론, 이름이 같더라도 함수나 클래스 내에 있다면 지역 스코프가 된다.

스코프의 구분

변수의 이름을 짓는 방법은 다양하다.

개발자마다 다를 수도 있고, 회사방침에 따라 다를 수도 있으며, 팀에 따라 다를 수도 있다.

과거 1세대 개발자들의 경우 스코프에 대해 명시적으로 사용한 적이 있었다.

지금도 가끔 사용하는 사람들도 있고, 본인 또한 마찬가지다.

명세서가 있고, 클래스라는 OOP 개념이 생긴 이후 변수명에 스코프의 의미를 주는 것은 크게 의미가 없지만 어찌됐든 하나의 단어로 명시해 주면 그건 그것대로 편하기도 할 때가 있다.

귀찮음이 오는 건 어쩔 수 없지만 말이다.

나누는 기준은 어렵지 않다.

지역변수는 의미에 맞는 단어로써 내부 규칙에 따라 지으면 된다.

전역변수는 의미에 맞는 단어를 사용하되 단어 앞에 소문자 g 를 붙여준다.

그렇게 하여 전역 스코프라는 것을 일부러 명시하고 사용하기도 한다.

뭐, 지금은 거의 사용하지 않는 방법이다.

반응형

댓글