Programming language/Python

[Question1] 파이썬의 지역변수 / 전역변수

아네스 2020. 11. 13. 14:36
반응형

C++에서는 for, while, 함수 내의 지역변수 scope들은 {중괄호} 안에 선언되어 있어서 지역/전역의 구분이 확연하다.

최근 python을 쓰는데

for문에서 처음 선언된 nx,ny를 for문 밖에서 쓰길레 이게 어떻게 된 일인가 하고 찾아봤었다.

결과적으로 def(함수) 내에 선언된 변수만 지역변수로 취급하며, 이외는 모두 전역으로 선언되는 듯 하다.

globals(), locals()라고 쓰면 전역변수와 지역변수가 쭉 나오는데, dictionary의 형태를 가진다.

 

추가적으로, 함수 내에서 전역변수를 참조하고 사용할 순 있지만 수정하고자한다면 global이라고 명시적으로 불러온 이후 수정해야한다. 

 

반응형