함수의 스코프
Builtin scope : 파이썬이 제공하는 내장모듈 공간
Global scope : 함수안에 포함되지 않은 전역 공간
Enhanced local scope : 파이썬은 함수를 중첩가능함. 중첨된 영역의 공간
Local scope : 함수 내에 정의된 지역 공간
myfun 함수 안에서 g_val의 값이 l-value에 오면 지역변수
myfun 함수 안에서 전역변수 g_val의 값을 변경
- global 키워드를 사용해야 함
- global 키워드 이후로는 g_val을 전역변수로 인식함
전역변수 많이 사용할 경우
- 문제 발생시 역변수의 값을 참조하는 모든 코드를 디버깅 해야함
- 전역 변수를 많이 참조할수록 디버깅은 어려워짐
- 함수 안의 범위만 쉽게 디버깅 하기 위해서 지역변수를 사용을 권고함.