Thursday, September 29, 2011

[Python] Modules 공부

(주) 해당 내용은 제가 개인적으로 공부하는 것을 노트 하는 것이므로, 심도 깊은 내용을 기대하시긴 어렵습니다.

뭔가 만들 때, 개발자는 어떻게 묶을까를 고민을 하게 되는데요.

그럴 때, Python에서는 Modules라는 내용에서 이 부분을 해결 하고 있습니다.
그 중 제가 유심하게 본 부분은 Package 영역입니다.
(참고) http://docs.python.org/tutorial/modules.html#packages

The __init__.py files are required to make Python treat the directories as containing packages; this is done to prevent directories with a common name, such as string, from unintentionally hiding valid modules that occur later on the module search path. In the simplest case, __init__.py can just be an empty file, but it can also execute initialization code for the package or set the __all__ variable, described later.

즉, __init__.py 파일이 있는 디렉토리는 Package로 인식하여, 그 이하의 모든 파일들을 import할 수가 있게 됩니다.
또한, 디렉토리 명과 파일이 namespace의 역할을 하게 되는 듯 합니다.
# python에서는 namespace가 따로 있는거 같은데, 이것과 관련이 있는지는 아직 못 봤습니다.

예를 들자면, 다음과 같이 디렉토리가 구성 되면,






아래와 같이 Package를 구성하게 됩니다.
이를 이용하면 좀 더 깔끔하게 모듈들을 구성할 수 있을 것으로 보입니다. :)

No comments:

Post a Comment