• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

질문이 있습니다.

19.09.14 00:12 작성 조회수 73

4

파이썬에서는 패키지, 모듈, 라이브러리라는 용어를 많이 쓰는 것 같은데 혹시 이 3개의 차이는 무엇인가요?

답변 1

답변을 작성해보세요.

3

일단 모듈은 섹션8. 파이썬 확장하기 2챕터를 보시면 모듈에 대한 내용이 있습니다. 강좌에서는 클래스를 예를 들고 있지만 꼭 클래스로 모듈화 시킬필요는 없습니다. 일반적으로 함수나 변수 같은걸 따로 py 파일로 정리해서 사용합니다. 

패키지는 모듈이 좀 더 확장된 개념으로 보시면 됩니다. 모듈이 파일을 기준으로 확장되었다고 보면 패키지는 디렉토리로 확장된 개념으로 볼 수 있습니다. 쉽게 폴더마다 각각 다른 특징과 기능의 모듈들이 정리되어있고 그 여러개의 폴더가 모인것을 패키지로 보시면 됩니다. 각 폴더에는 각 모듈을 초기화하는 __init__.py 초기화 파일이 존재합니다.  보통 이런 경우에는 from 디렉토리 import 모듈명 이런식으로 사용됩니다. 

라이브러리는 이렇게 미리 만들어놓은 모듈과 패키지를 여러 프로그램에서 재사용 할 수 있으며 타인과 공유할 수도 있습니다. 그냥 쉽게 모듈과 패키지를 총칭하는 용어로 이해하셔도 좋습니다. 그렇기 때문에 라이브러리는 py파일 한개로 존재할수도 있고 패키지처럼 복수개의 모듈로 존재할 수도 있습니다. 파이썬 라이브러리들은 보통 파이썬 설치경로\Lib\site-packages 에 있습니다.

파이썬에서는 프로그램을 py 파일 하나에 모두 다 때려넣어 만들어도 특별한 이유가 없다면 문제 없이 동작합니다. 그러나 이런 모듈과 패키지를 쓰는 목적은 프로젝트의 규모가 커지고 코드의 양이 많아지거나 혼자 개발하는게 아닌 여러사람이 같은 프로젝트를 개발할 때 코드의 가독성, 재사용성을 위해 프로그램을 좀 더 객체지향화 시키는것을 목적으로 볼 수 있습니다.