Search

νŒ¨ν‚€μ§€

β€’
νŒ¨ν‚€μ§€λž€
β€’
μ„€μΉ˜
β€’
import

νŒ¨ν‚€μ§€ (package)

λͺ¨λ“ˆ(파일)듀을 λ¬Άμ–΄ 놓은 디렉토리 ꡬ쑰
μ—¬λŸ¬ κΈ°λŠ₯이 ν¬ν•¨λœ 라이브러리의 μ§‘ν•©μž…λ‹ˆλ‹€.

λͺ¨λ“ˆ vs νŒ¨ν‚€μ§€

ꡬ뢄
λͺ¨λ“ˆ
νŒ¨ν‚€μ§€
λ‹¨μœ„
파일 ν•˜λ‚˜
디렉토리(폴더)
ꡬ성
단일 .py 파일
__init__.py + μ—¬λŸ¬ λͺ¨λ“ˆ νŒŒμΌλ“€
μ˜ˆμ‹œ
module.py
package/__init__.py + module1.py + module2.py
import 방식
import module
from package import module

νŒ¨ν‚€μ§€ μ„€μΉ˜

pip install νŒ¨ν‚€μ§€λͺ…
Shell
볡사
파이썬 νŒ¨ν‚€μ§€λ₯Ό μ„€μΉ˜ν•˜λŠ” 방법은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€:
β€’
터미널/λͺ…λ Ή ν”„λ‘¬ν”„νŠΈλ₯Ό μ—½λ‹ˆλ‹€
β€’
pip install λͺ…λ Ήμ–΄ 뒀에 μ„€μΉ˜ν•˜κ³  싢은 νŒ¨ν‚€μ§€ 이름을 μž…λ ₯ν•©λ‹ˆλ‹€
μ„€μΉ˜κ°€ μ™„λ£Œλ˜λ©΄ 성곡 λ©”μ‹œμ§€κ°€ ν‘œμ‹œλ©λ‹ˆλ‹€. λ§Œμ•½ 이미 μ„€μΉ˜λœ νŒ¨ν‚€μ§€λΌλ©΄ 'Requirement already satisfied' λ©”μ‹œμ§€κ°€ λ‚˜νƒ€λ‚©λ‹ˆλ‹€.
μ—¬λŸ¬ νŒ¨ν‚€μ§€λ₯Ό ν•œ λ²ˆμ— μ„€μΉ˜ν•˜κ³  μ‹Άλ‹€λ©΄ 곡백으둜 κ΅¬λΆ„ν•˜μ—¬ μž…λ ₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€:
pip install requests pandas matplotlib
Shell
볡사
νŠΉμ • 버전을 μ„€μΉ˜ν•˜κ³  μ‹Άλ‹€λ©΄ λ‹€μŒκ³Ό 같이 μž…λ ₯ν•©λ‹ˆλ‹€:
pip install pandas==1.5.3
Shell
볡사

import

import λͺ¨λ“ˆ
Bash
볡사

1. νŒ¨ν‚€μ§€ 전체 import

import mypackage.greetings
Python
볡사
μ‚¬μš© μ‹œ:
mypackage.greetings.hello()
Python
볡사

2. λͺ¨λ“ˆλ§Œ import

from mypackage import greetings
Python
볡사
μ‚¬μš© μ‹œ:
greetings.hello()
Python
볡사

3. ν•¨μˆ˜ λ˜λŠ” 클래슀만 import

from mypackage.greetings import hello
Python
볡사
μ‚¬μš© μ‹œ:
hello()
Python
볡사

4. ν•˜μœ„ νŒ¨ν‚€μ§€ import

from mypackage.subpackage import submodule
Python
볡사

5. λͺ¨λ“  ν•­λͺ© import (ꢌμž₯ )

from mypackage.greetings import *
Python
볡사
__all__을 μ„€μ •ν•˜μ§€ μ•ŠμœΌλ©΄ μ˜ˆμƒλŒ€λ‘œ μž‘λ™ν•˜μ§€ μ•Šμ„ 수 μžˆμ–΄μš”.

μ°Έκ³ : __init__.py μ—­ν• 

β€’
__init__.pyλŠ” ν•΄λ‹Ή 디렉토리λ₯Ό "νŒ¨ν‚€μ§€"둜 μΈμ‹ν•˜κ²Œ ν•΄μ€λ‹ˆλ‹€.
β€’
λ‚΄λΆ€μ—μ„œ μ΄ˆκΈ°ν™” μ½”λ“œλ‚˜ κΈ°λ³Έ λ…ΈμΆœ ν•¨μˆ˜ 등을 μ„€μ •ν•  수 μžˆμ–΄μš”.
예:
# mypackage/__init__.py from .greetings import hello
Python
볡사
μ΄λ ‡κ²Œ ν•˜λ©΄:
from mypackage import hello hello()
Python
볡사

λͺ¨λ“ˆ import μ˜ˆμ‹œ

mymodule.pyλΌλŠ” ν•˜λ‚˜μ˜ .py 파일이 μžˆλ‹€κ³  κ°€μ •:
# mymodule.py def say_hello(): print("Hello from module!")
Python
볡사
# main.py import mymodule mymodule.say_hello()
Python
볡사

νŒ¨ν‚€μ§€ import μ˜ˆμ‹œ

# mypackage/ # β”œβ”€β”€ __init__.py # β”œβ”€β”€ greetings.py # └── utils.py
Python
볡사

greetings.py

def hello(): print("Hello from package!")
Python
볡사

main.py

from mypackage import greetings greetings.hello()
Python
볡사
ν•„μš”ν•˜λ©΄ μƒλŒ€ κ²½λ‘œλ‚˜ μ ˆλŒ€ 경둜 import도 μ˜ˆμ‹œλ‘œ 보여쀄 수 μžˆμ–΄μš”. 더 μΆ”κ°€ν• κΉŒμš”?

μ˜ˆμ‹œ μ½”λ“œ

예 1: requests νŒ¨ν‚€μ§€ μ‚¬μš© – μ›Ή νŽ˜μ΄μ§€ μš”μ²­

import requests res = requests.get("https://example.com") print(res.status_code) print(res.text)
Python
볡사

예 2: matplotlib νŒ¨ν‚€μ§€ μ‚¬μš© – κ·Έλž˜ν”„ 그리기

import matplotlib.pyplot as plt x = [1, 2, 3] y = [10, 20, 30] plt.plot(x, y) plt.title("Sample Graph") plt.show()
Python
볡사

νŒ¨ν‚€μ§€ ν”„λ‘œμ νŠΈ ꡬ쑰 μ˜ˆμ‹œ

my_package/ β”œβ”€β”€ __init__.py β”œβ”€β”€ module1.py β”œβ”€β”€ module2.py └── subpackage/ β”œβ”€β”€ __init__.py └── submodule.py
Markdown
볡사
이런 ꡬ쑰일 λ•Œ μ‚¬μš© μ˜ˆμ‹œ:
from my_package import module1 from my_package.subpackage import submodule
Python
볡사