--- id: python-modules title: "Python Modules" category: "Programming_Language" status: "draft" verification_status: "conceptual" canonical_id: "" aliases: ["import statement", "파이썬 모듈"] duplicate_of: "" source_trust_level: "B" confidence_score: 0.9 created_at: 2026-07-04 updated_at: 2026-07-04 review_reason: "" merge_history: [] tags: ["python", "programming", "w3schools", "modules", "import"] raw_sources: ["https://www.w3schools.com/python/python_modules.asp"] applied_in: [] github_commit: "" --- # [[Python Modules]] ## 🎯 한 줄 통찰 (One-line insight) A module is just a `.py` file, imported via `import` and accessed with dot notation (`module.function`) — except when using `from module import x`, which drops the module prefix entirely. [S1] ## 🧠 핵심 개념 (Core concepts) - **Module** — a code library; a file containing functions (and variables) meant to be reused. [S1] - **Creating a module** — just save code in a `.py` file. [S1] - **Using a module** — `import mymodule; mymodule.greeting("Jonathan")`. [S1] - **Module variables** — modules can hold variables of any type (dicts, lists, objects), accessed the same dot-notation way. [S1] - **Aliasing** — `import mymodule as mx` renames the module reference. [S1] - **Built-in modules** — Python ships several ready to import, e.g. `platform`. [S1] - **`dir()`** — lists all names (functions/variables) defined in a module, including custom ones. [S1] - **`from ... import ...`** — imports only specific parts; when used, do NOT prefix with the module name at the call site. [S1] ## 🧩 추출된 패턴 (Extracted patterns) - **`from import` changes the access syntax** — `import mymodule; mymodule.person1` vs. `from mymodule import person1; person1` — mixing these two styles by prefixing after a `from import` is a common beginner mistake. [S1] ## 📖 세부 내용 (Details) - Create a module (mymodule.py): `def greeting(name): print("Hello, " + name)`. [S1] - Use it: `import mymodule; mymodule.greeting("Jonathan")`. [S1] - Alias: `import mymodule as mx; a = mx.person1["age"]`. [S1] - Built-in module: `import platform; x = platform.system()`. [S1] - List module contents: `import platform; x = dir(platform)`. [S1] - Partial import: `from mymodule import person1; print(person1["age"])`. [S1] ## ⚖️ 모순 및 업데이트 (Contradictions & updates) 소스에서 모순되는 정보는 발견되지 않음. ## 🛠️ 적용 사례 (Applied in summary) 현재 발견된 실제 적용 사례가 없습니다 — Python PIP 챕터에서 서드파티 모듈을 설치해 동일한 import 방식으로 사용하는 과정으로 이어진다. [S1] ## 💻 코드 패턴 (Code patterns) Aliased import (Python): ```python import mymodule as mx a = mx.person1["age"] print(a) ``` ## ✅ 검증 상태 및 신뢰도 - **상태:** draft - **검증 단계:** conceptual - **출처 신뢰도:** B (W3Schools — widely used educational reference, not a primary standards body) - **신뢰 점수:** 0.90 - **중복 검사 결과:** 신규 생성 (New discovery) ## 🔗 지식 그래프 (Knowledge Graph) - **상위/루트:** [[Python Tutorial]] - **관련 개념:** [[Python PIP]], [[Python Math]], [[Python JSON]] - **참조 맥락:** 코드 재사용의 기본 단위 — 이후 math/json/re 등 표준 모듈 챕터의 전제. ## 📚 출처 (Sources) - [S1] W3Schools — Python Modules — https://www.w3schools.com/python/python_modules.asp ## 📝 변경 이력 (Change history) - 2026-07-04: Initial draft synthesized from the W3Schools "Python Modules" page (Astra wiki-curation, P-Reinforce v3.1 format).