Java에 대한 배경 지식이 있으며 Python을 처음 사용합니다. 계속 진행하기 전에 Python 용어를 올바르게 이해하고 있는지 확인하고 싶습니다.
모듈 에 대한 나의 이해는 읽기를 쉽게하기 위해 많은 스크립트에서 가져올 수있는 스크립트입니다. Java에서와 마찬가지로 클래스가 있으며 해당 클래스는 다른 많은 클래스에서 가져올 수 있습니다.
라이브러리 에 대한 나의 이해 는 다음과 같습니다. 라이브러리 는 사용에 따라 분리 된 많은 모듈 을 포함 합니다.
내 질문은 : 라이브러리가 패키지와 같은지, 예를 들어라는 패키지가있는 food
경우 :
- chocolate.py
- sweets.py
- biscuts.py
food
패키지에 포함되어 있습니까?
또는 라이브러리가 패키지를 사용하므로 다른 패키지가있는 경우 drink
:
- milk.py
- juice.py
패키지에 포함되어 있습니다. 는 library
두 개의 패키지를 포함?
또한 API (응용 프로그래밍 인터페이스)에는 일반적으로 계층 구조의 맨 위에있는 라이브러리 집합이 포함됩니다.
- API
- 도서관
- 꾸러미
- 기준 치수
- 스크립트
그래서 API는 모두 2-5로 구성됩니까?
답변
에서 모듈 – 파이썬 자습서
-
모듈 :
모듈은 Python 정의 및 문을 포함하는 파일입니다. 파일 이름은 접미사가
.py
추가 된 모듈 이름입니다 . -
패키지 :
패키지는 “점으로 구분 된 모듈 이름”을 사용하여 Python의 모듈 네임 스페이스를 구성하는 방법입니다.
import
문에 대한 설명서를 읽으면 더 자세한 내용을 볼 수 있습니다. 예를 들면 다음과 같습니다.
Python에는 모듈 객체 유형이 하나 뿐이며 모듈이 Python, C 또는 다른 것으로 구현되었는지 여부에 관계없이 모든 모듈은이 유형입니다. 모듈을 구성하고 이름 지정 계층을 제공하기 위해 Python에는 패키지 개념이 있습니다.
패키지는 파일 시스템의 디렉토리로, 모듈은 디렉토리 내의 파일로 생각할 수 있지만, 패키지와 모듈이 파일 시스템에서 생성 될 필요가 없기 때문에이 비유를 너무 문자 그대로 받아들이지 마십시오. 이 문서의 목적을 위해 우리는 디렉토리와 파일의 편리한 비유를 사용할 것입니다. 파일 시스템 디렉토리와 마찬가지로 패키지는 계층 적으로 구성되며 패키지 자체에는 일반 모듈과 함께 하위 패키지가 포함될 수 있습니다.
모든 패키지가 모듈이지만 모든 모듈이 패키지는 아니라는 점을 명심하는 것이 중요 합니다. 달리 말하면 패키지는 특별한 종류의 모듈 일뿐입니다. 특히
__path__
속성 을 포함하는 모든 모듈
은 패키지로 간주됩니다.
따라서이 용어 module
는 특정 엔티티를 나타냅니다. 인스턴스가 module
파이썬 프로그램에서 사용 하는 객체 인 클래스입니다 . 또한 이러한 인스턴스가 “생성 된”파일 시스템의 파일을 참조하는데도 사용됩니다.
스크립트 라는 용어 는 목표가 실행되는 모듈을 가리키는 데 사용됩니다. “프로그램”또는 “응용 프로그램”과 같은 의미이지만 일반적으로 단순하고 작은 프로그램 (예 : 최대 수백 줄의 단일 파일)을 설명하는 데 사용됩니다. 스크립트 작성에는 몇 분 또는 몇 시간이 걸립니다.
라이브러리 라는 용어 는 많은 응용 프로그램에서 사용할 수 있도록 설계된 코드 묶음의 일반적인 용어입니다. 특정 응용 프로그램에서 사용할 수있는 몇 가지 일반적인 기능을 제공합니다.
모듈 / 패키지 / 다른 것이 “게시”될 때 사람들은 종종 그것을 라이브러리라고 부릅니다. 종종 라이브러리에는 패키지 또는 여러 관련 패키지가 포함되지만 단일 모듈 일 수도 있습니다.
라이브러리는 일반적으로 특정 기능을 제공하지 않습니다. 즉, “라이브러리를 실행”할 수 없습니다.
API는 컨텍스트에 따라 다른 의미를 가질 수 있습니다. 예를 들면 :
- DB API 나 버퍼 프로토콜 과 같은 프로토콜을 정의 할 수 있습니다 .
- 이 응용 프로그램과 상호 작용하는 방법을 정의 할 수 있습니다 (예를 들어
Python/C API
) - 라이브러리 / 패키지와 관련하여 해당 기능 (함수 / 클래스 / 상수 집합 등)을 위해 해당 라이브러리에서 제공하는 인터페이스입니다.
어쨌든 API는 파이썬 코드 가 아닙니다 . 다소 형식적 일 수있는 설명입니다.
답변
패키지 와 모듈 만이 Python에 특정한 잘 정의 된 의미를 갖습니다.
-
API는 코드의 모음 아닌 그 자체 – 그것은 더 다양한 부분 (보통 라이브러리)이 서로 통신하는 방법 “프로토콜”사양과 같다. 파이썬에는 몇 가지 주목할만한 “표준”API가 있습니다. 예 : DB API
-
제 생각에는 라이브러리 는 응용 프로그램 이 아닌 모든 것입니다 . 파이썬에서 라이브러리는 일반적으로 하위 모듈 이있는 모듈 입니다. 도서관의 범위는 매우 변수입니다 – 예를 들어 파이썬 표준 라이브러리는 , 예를 들어 상기 PyPi 단일 목적의 라이브러리가 많이 있기는하지만 (꽤 서브 모듈로) 광대
collections.OrderedDict
py <2.7 백 포트 -
패키지는 일반적인 네임 스페이스에서 파이썬 모듈의 모음입니다. 실제로 하나는 특수한 디렉토리에 여러 파이썬 모듈을 배치하여 생성됩니다.
__init__.py
모듈 (파일)이 . -
모듈은 할 의미 파이썬 코드의 단일 파일 가져 오기 . 실제로 꽤 많은 모듈 이 스크립트로 실행되는시기를 감지 하고 그 경우 특별한 작업을 수행 하기 때문에 이것은 약간 단순화되었습니다 .
-
스크립트가 될하기위한 것입니다 파이썬 코드의 단일 파일 실행 ‘기본’프로그램으로.
-
여러 파일에 걸쳐있는 코드 집합이있는 경우 스크립트 대신 응용 프로그램 이있을 수 있습니다 .
답변
라이브러리 : 모듈 모음입니다.
(라이브러리는 내장 모듈 (C로 작성) + 파이썬으로 작성된 모듈을 포함합니다.)
모듈 : 보다 복잡한 구조를 구성하는 데 사용할 수있는 표준화 된 각 부품 또는 독립 단위 집합입니다.
비공식적 인 언어로 말하기, 모듈을 피하기 건조, 특정 목적을 위해 사용되며, 그대로 다른 프로그램에서 사용할 수있는 코드 라인의 설정 ( D on’t R은 EPEAT Y 팀과에 초점을 해결할를) 주요 요구 사항. 출처
API 는 다른 애플리케이션이 직접 액세스하지 않고도 라이브러리와 상호 작용할 수있는 인터페이스입니다.
꾸러미 는 기본적으로 파일이있는 디렉토리입니다.
스크립트 는 단일 파일 내에있는 일련의 명령을 의미합니다.
답변
저는 초보 초보자들이 사용하는 용어를 사용하지 않고 이에 대해 대답하고, 용어의 가장 “공식적인”및 / 또는 가장 이해되거나 통일 된 사용과 함께 그들이 다르게 사용 된 이유 또는 방법을 설명 할 것입니다.
그것은 혼란 스러울 수 있고, 나는 열심히 생각하는 것을 혼란스럽게 만들었으므로 그것에 대해 많이 생각하지 마십시오. 어쨌든 컨텍스트는 매우 중요합니다.
도서관 -대부분의 경우 유사한 형식과 용도로 생성 된 일반 도서관 또는 다른 컬렉션을 참조합니다. 일반 라이브러리는 ‘표준’, 인기 있고 널리 사용되는 모듈의 합계이며, 마녀는 현재로서는 단일 파일 도구로 생각할 수 있으며 작업을 가능하거나 빠르게 만드는 지름길로 생각할 수 있습니다. 일반 라이브러리는 대부분의 사람들이 Python을 설치할 때 활성화하는 옵션입니다. “Python General Library”라는 이름을 가지고 있기 때문에 유사한 구조와 아이디어로 자주 사용됩니다. Witch는 단순히 일련의 모듈, 어쩌면 함께 그룹화 된 패키지, 일반적으로 목록을 갖는 것입니다. 목록은 일반적으로 다운로드하는 것입니다. 일반적으로 관심사가 비슷한 관련 파일입니다. 그것이 그것을 설명하는 가장 쉬운 방법입니다.
모듈 – 모듈 은 파일을 참조합니다. 파일에는 ‘내부’스크립트가 있고 파일 이름은 모듈 이름이고 Python 파일은 .py로 끝납니다. 모든 파일에는 함수, 문자열 등을 사용하여 함께 실행되는 코드가 있습니다. 가장 자주 볼 수있는 주요 모듈은 다른 파일 / 모듈에서 정보를 얻을 수있는 특수 모듈이기 때문에 인기가 있습니다. 파일과 모듈의 이름이 같고 .py를 드롭하기 때문에 혼란 스럽습니다. 실제로는 누군가가 무언가를 더 쉽고 가능하게 만들기 위해 작성한 바로 가기로 사용할 수있는 코드 일뿐입니다.
패키지 -상황에 따라 다르지만 일반적으로 때때로 사용되는 용어입니다. 내 경험상 가장 일반적인 용도는 함께 그룹화 된 여러 모듈 (또는 파일)입니다. 그들이 함께 그룹화되는 이유는 몇 가지 이유가있을 수 있습니다. 이것이 내가 패키지 라는 용어를 알게 된 방법입니다.익숙한. 다운로드, 생성 및 / 또는 저장된 모듈의 그룹입니다. 모두 사실 일 수도 있고 1 일 수도 있지만 실제로는 다른 파일을 참조하는 파일 일 뿐이며 올바른 구조 또는 형식이어야하며 전체 합계는 패키지 자체이거나 설치되었거나 파이썬 일반 라이브러리. 패키지는 모듈 (.py 파일)을 포함 할 수 있습니다. 모듈은 서로 의존하고 때로는 제대로 작동하지 않거나 전혀 작동하지 않을 수 있기 때문입니다. 패키지의 모든 부분 (모듈 / 파일)에는 항상 공통된 목표가 있으며 모든 부분의 총합은 패키지 자체입니다.
대부분의 경우 Python 패키지는 모듈입니다. 패키지 이름은 모든 조각을 연결하는 데 사용되는 모듈의 이름이기 때문입니다. 따라서 패키지가 모듈이기 때문에 입력 할 수 있고, 특정 기능 만 수행하기 때문에 패키지가 아닌 다른 모듈을 호출 할 수도 있습니다. 또는 태스크가 다른 파일을 포함하지 않습니다. 패키지에는 목표가 있으며 각 모듈은 최종 목표를 달성하기 위해 함께 작동합니다.
대부분의 혼란은 모듈 이름으로 사용 된 후 다시 패키지 이름으로 사용되는 간단한 파일 파일 이름 또는 파일의 접두사에서 발생합니다.
모듈 및 패키지를 설치할 수 있음을 기억하십시오. 라이브러리는 일반적으로 모듈 및 패키지 그룹을 나열하거나 형식화하는 일반적인 용어입니다. Pythons 일반 라이브러리와 매우 유사합니다. 계층 구조는 작동하지 않고 API는 실제로 속하지 않으며 스크립트, 모듈 및 패키지를 포함하는 모든웨어가 어디에나있을 수 있습니다. worl 라이브러리는 이러한 일반적인 단어이므로 많은 것에 쉽게 적용 할 수 있으며 API를 사용할 수 있습니다. 그 위 또는 아래에 앉을 수 있습니다. 일부 모듈은 다른 코드를 기반으로 할 수 있으며 순수한 Python 관련 토론과 관련이 있다고 생각하는 유일한 시간입니다.