파이썬

Python 환경에서 지역 변수와 전역 변수 (global)

이석사 중 2023. 11. 6. 12:47
728x90

오랜만에 포스팅을 하는 것 같습니다

 

시험 기간도 있었고 대학원 준비도 하다 보니 많이 미뤄진 것 같습니다

 

그래서 다시 리로딩하는 마음으로 간단한 것부터 다시 시작해보겠습니다

 

globals라는 전역 변수 선언 기능을 최근들어 정말 많이 사용한 것 같습니다

 

특히 선언해야할 변수들이 개수가 엄청 많은데 이름들이 비슷한 경우,

 

굳이 이름을 특별하게 지어야할 필요가 없지만 개수를 많이 선언해야 할 경우

 

이런 경우에 globals를 많이 사용해왔습니다

 

다음 포스팅에서 여러개의 csv 파일들을 하나로 합치고 이름을 지정하는 것을 해볼건데 빌드업 느낌으로

 

오늘은 동적 변수를 선언하는 방법을 알아보겠습니다

 


먼저 전역 변수와 지역 변수에 대해 알아보겠습니다

 

def나 class처럼 자기 만의 틀을 가지고 있는 부분에서 변수를 선언하고 실행하면 지역변수라고 하여

 

항상 선언되고 기억되는 변수가 아닌 함수 안에서만 기억하는 지역 변수 형식으로 선언이 됩니다 

 

글로 설명하면 뭐합니까 직접 보도록 하겠습니다


코랩과 Shell 환경에서 똑같이 a = 1임을 출력하는 함수를 만들고 결과를 보겠습니다

 

먼저 Shell의 경우를 보겠습니다

먼저 이렇게 함수를 만들었습니다

 

a1()을 출력하면 1이란 결과가 나오겠죠?

이렇게 잘 출력이 됩니다

 

하지만 a가 무슨 값을 갖는지 궁금해서 a를 출력해보면

 

a가 정의되지 않았다고 나옵니다

 

이것이 a가 지역 변수이기 때문에 생기는 문제입니다

 

여기서 코드를 쪼금 수정해서

 

 

위에처럼 바꿔주게 되면 a만 출력을 해도 잘 출력이 됩니다


코랩의 경우도 같습니다

코랩도 같은 결과가 나오걸 볼 수 있습니다

 

하지만 코드를 수정하면

 

 

이렇게 잘 출력이 됩니다


이렇게 지역 변수와 전역 변수의 차이를 직접 코딩해보면서 알아봐봤습니다

 

다음 포스팅에서는 globals를 사용해서 동적 변수를 만들어보겠습니다

 

긴 글 읽어주셔서 감사합니다!!

728x90