프로그래머를 위한 파이썬 - 2장 #1
명확한 코드의 초석은 여러 기능을 관리할 수 있는 작은 조각으로 나누는 것. 관심사에 따라 나누는 것이 효과적.
명확한 코드 : 깊게 생각 안 하고도 쉽게 이해되는 코드
2.1 네임스페이스
- 프로그램을 실행할 때, 알고 있는 모든 네임스페이스와 해당 네임스페이스에서 사용할 수 있는 정보를 추적.
2.1.1 네임스페이스와 임포트 구문에 대해 설명
- 파이썬의 변수, 함수, 클래스에 참조하려면: 1. 파이썬 내장 네임스페이스에 있거나 2. 현대 모듈의 전역 네임스페이스에 있거나 3. 현재 코드의 로컬 네임스페이스에 있으면 됨
- 각 네임스페이스는 상위의 네임스페이스에 접근 가능하며, 하위 네임스페이스에 있는 이름은 상위의 것을 오버라이드 함.
2.1.2 다양한 임포트 방법
- 여러 모듈을 임포트 하려면 각각의 이름을 써주면 됨. (from aaa import bbb)
- 너무 임포트 할 모듈이 많다면 아예 해당 모듈을 전부 임포트 해서 접두어로 호출 (import aaa, aaa.bbb 와 같이 호출)
- from aaa import * 형태로 사용하는 것을 피할 것. 이름 충돌의 가능성이 있으며 디버깅도 어려움. 항상 명시적으로 임포트 하는 것을 추천.
2.1.3 네임스페이스는 충돌을 방지한다
- 만약 다른 모듈이 동일한 이름의 함수를 가지고 있는 경우, 호출하게 되면 가장 최신의 정이를 사용함.
- 이런 경우는 웬만하면 접두어를 활용하는 것을 추천. 아니면 as 문을 사용하는 방법도 있음.
모듈을 import 하다 보면 from a import b 형태로 쓰는 경우도 있고, import a 같이 쓰는 경우도 있는데, 본 챕터를 학습하면서 두 경우가 어떻게 다른지 알게 되었음.