반응형
C++에서는 for, while, 함수 내의 지역변수 scope들은 {중괄호} 안에 선언되어 있어서 지역/전역의 구분이 확연하다.
최근 python을 쓰는데
for문에서 처음 선언된 nx,ny를 for문 밖에서 쓰길레 이게 어떻게 된 일인가 하고 찾아봤었다.
결과적으로 def(함수) 내에 선언된 변수만 지역변수로 취급하며, 이외는 모두 전역으로 선언되는 듯 하다.
globals(), locals()라고 쓰면 전역변수와 지역변수가 쭉 나오는데, dictionary의 형태를 가진다.
추가적으로, 함수 내에서 전역변수를 참조하고 사용할 순 있지만 수정하고자한다면 global이라고 명시적으로 불러온 이후 수정해야한다.
반응형
'Programming language > Python' 카테고리의 다른 글
PEP8 참고 링크 (0) | 2021.06.29 |
---|---|
[Python] 상속시 super().__init__ 사용 (0) | 2021.01.07 |
[Python] *args , **kwargs에 대해서 (0) | 2021.01.07 |
[Python] Deque method정리 (0) | 2020.12.23 |
[Q2] 왜 코테에서 deque(덱)을 쓰고있는거야 ? (0) | 2020.12.23 |