Guidelines

νŒ¨ν‚€μ§€λŠ” 무엇이고 μ–΄λ–»κ²Œ μ‚¬μš©ν• κΉŒμš”?

νŒŒμ΄μ¬μ—μ„œ νŒ¨ν‚€μ§€(Package)λŠ” μ—¬λŸ¬ κ΄€λ ¨λœ λͺ¨λ“ˆλ“€μ„ 묢은 폴더(디렉터리)μž…λ‹ˆλ‹€.

νŒ¨ν‚€μ§€ μ•ˆμ—λŠ” μ—¬λŸ¬ 파이썬 파일(λͺ¨λ“ˆ)듀이 ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

νŒ¨ν‚€μ§€λŠ” μ„œλ‘œ μ—°κ΄€λœ λͺ¨λ“ˆμ„ μ²΄κ³„μ μœΌλ‘œ 쑰직해 관리할 수 μžˆλ„λ‘ λ„μš°λ©°, μ½”λ“œμ˜ μž¬μ‚¬μš©μ„±μ„ λ†’μž…λ‹ˆλ‹€.


파이썬 νŒ¨ν‚€μ§€ ꡬ쑰

파이썬 νŒ¨ν‚€μ§€λŠ” 일반적으둜 __init__.py νŒŒμΌμ„ ν¬ν•¨ν•˜λŠ” λ””λ ‰ν„°λ¦¬λ‘œ κ΅¬μ„±λ©λ‹ˆλ‹€.

__init__.py νŒŒμΌμ€ ν•΄λ‹Ή 디렉터리가 νŒ¨ν‚€μ§€μž„μ„ μ•Œλ €μ£ΌλŠ” 역할을 ν•˜λ©°, νŒ¨ν‚€μ§€κ°€ μ΄ˆκΈ°ν™”λ  λ•Œ μ‹€ν–‰λ˜λŠ” μ½”λ“œλ₯Ό 포함할 μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

μ˜ˆμ‹œ: κ°„λ‹¨ν•œ νŒ¨ν‚€μ§€ ꡬ쑰
my_package/ __init__.py module1.py module2.py

μœ„μ˜ my_package λ””λ ‰ν„°λ¦¬λŠ” 파이썬 νŒ¨ν‚€μ§€ μ˜ˆμ‹œλ‘œ, 이 μ•ˆμ— module1.py와 module2.pyλΌλŠ” 두 개의 λͺ¨λ“ˆμ„ ν¬ν•¨ν•©λ‹ˆλ‹€.

이제 λ‹€λ₯Έ 파이썬 μ½”λ“œμ—μ„œ μ•„λž˜μ™€ 같이 νŒ¨ν‚€μ§€μ˜ λͺ¨λ“ˆμ„ 뢈러올 수 μžˆμŠ΅λ‹ˆλ‹€.

νŒ¨ν‚€μ§€ λ‚΄ λͺ¨λ“ˆ μ‚¬μš© μ˜ˆμ‹œ
# my_package νŒ¨ν‚€μ§€μ˜ module1 λͺ¨λ“ˆμ„ 뢈러옴 from my_package import module1 # module1.py에 μ •μ˜λœ some_function 호좜 result = module1.some_function()

μ΄λ ‡κ²Œ νŒ¨ν‚€μ§€λ₯Ό μ‚¬μš©ν•˜λ©΄ μ½”λ“œλ₯Ό 더 μ²΄κ³„μ μœΌλ‘œ κ΄€λ¦¬ν•˜κ³  μž¬μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.


μ½”λ“œ μž¬μ‚¬μš©μ„±μ„ κ·ΉλŒ€ν™”ν•˜κΈ° μœ„ν•œ ꡬ쑰

νŒŒμ΄μ¬μ—μ„œ μ½”λ“œ μž¬μ‚¬μš©μ„±μ„ κ·ΉλŒ€ν™”ν•˜λŠ” κ΅¬μ‘°λŠ” ν•¨μˆ˜ > λͺ¨λ“ˆ > νŒ¨ν‚€μ§€ 순으둜 λ°œμ „ν•©λ‹ˆλ‹€. ν•¨μˆ˜κ°€ κ°€μž₯ μž‘μ€ λ‹¨μœ„μ΄λ©°, νŒ¨ν‚€μ§€κ°€ κ°€μž₯ 큰 λ‹¨μœ„μž…λ‹ˆλ‹€.

μ°Έκ³  : νŒ¨ν‚€μ§€λŠ” μ—¬λŸ¬ λͺ¨λ“ˆμ„ 포함할 수 μžˆλŠ” ꡬ쑰적인 λ‹¨μœ„μ΄κ³ , λΌμ΄λΈŒλŸ¬λ¦¬λŠ” νŠΉμ • λͺ©μ μ„ μœ„ν•΄ μ œκ³΅λ˜λŠ” μ½”λ“œ λͺ¨μŒμ„ λœ»ν•˜λŠ” κΈ°λŠ₯적 λ‹¨μœ„μž…λ‹ˆλ‹€. λΌμ΄λΈŒλŸ¬λ¦¬λŠ” ν•˜λ‚˜ μ΄μƒμ˜ νŒ¨ν‚€μ§€λ‘œ ꡬ성될 수 μžˆμ§€λ§Œ, κΌ­ νŒ¨ν‚€μ§€ ꡬ쑰λ₯Ό λ”°λ₯Ό ν•„μš”λŠ” μ—†μŠ΅λ‹ˆλ‹€.


파이썬 νŒ¨ν‚€μ§€ 관리 도ꡬ, pip

pipλŠ” νŒŒμ΄μ¬μ—μ„œ νŒ¨ν‚€μ§€λ₯Ό μ„€μΉ˜ν•˜κ³  κ΄€λ¦¬ν•˜λŠ” λ„κ΅¬μž…λ‹ˆλ‹€.

pipλŠ” 터미널(컴퓨터와 μƒν˜Έμž‘μš©ν•˜λŠ” ν…μŠ€νŠΈ 기반의 μΈν„°νŽ˜μ΄μŠ€)μ—μ„œ μ‚¬μš©ν•  수 있으며, ν…μŠ€νŠΈλ₯Ό 기반으둜 파이썬 νŒ¨ν‚€μ§€ 인덱슀(PyPI)μ—μ„œ μ œκ³΅ν•˜λŠ” μˆ˜λ§Žμ€ 곡개 νŒ¨ν‚€μ§€λ₯Ό μ„€μΉ˜ν•˜κ³  μ‚¬μš©ν•˜λ„λ‘ μ§€μ›ν•©λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄ 파이썬 ν”„λ‘œκ·Έλž¨μ΄ μ™ΈλΆ€ μ›Ήμ‚¬μ΄νŠΈ 및 μ„œλ²„μ™€ ν†΅μ‹ ν•˜κΈ° μœ„ν•œ requests νŒ¨ν‚€μ§€λ₯Ό μ„€μΉ˜ν•˜λ €λ©΄, 터미널을 μ—΄κ³  μ•„λž˜μ™€ 같이 λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€.

requests νŒ¨ν‚€μ§€ μ„€μΉ˜
pip install requests

이 λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰ν•˜λ©΄ requests νŒ¨ν‚€μ§€κ°€ μ»΄ν“¨ν„°μ˜ 파이썬 ν™˜κ²½μ— μ„€μΉ˜λ©λ‹ˆλ‹€.

μ΄ν›„μ—λŠ” import requests둜 ν•΄λ‹Ή νŒ¨ν‚€μ§€λ₯Ό ν”„λ‘œμ νŠΈμ—μ„œ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

requests νŒ¨ν‚€μ§€ μ‚¬μš© μ˜ˆμ‹œ
# requests νŒ¨ν‚€μ§€ 뢈러였기 import requests # requests νŒ¨ν‚€μ§€λ₯Ό μ‚¬μš©ν•΄ μ›Ήμ‚¬μ΄νŠΈμ˜ 데이터λ₯Ό κ°€μ Έμ˜΄ response = requests.get("https://www.example.com") # μ›Ήμ‚¬μ΄νŠΈμ˜ HTML μ½”λ“œ 좜λ ₯ print(response.text)

일반적으둜 importλŠ” 동일 폴더 내에 μžˆλŠ” λͺ¨λ“ˆμ„ λΆˆλŸ¬μ˜€μ§€λ§Œ, pipλ₯Ό μ‚¬μš©ν•΄ μ„€μΉ˜ν•œ νŒ¨ν‚€μ§€λŠ” μ–΄λ””μ„œλ‚˜ 뢈러올 수 μžˆμŠ΅λ‹ˆλ‹€.

μ™œλƒν•˜λ©΄ pip둜 μ„€μΉ˜ν•œ νŒ¨ν‚€μ§€λŠ” 파이썬이 μ„€μΉ˜λœ 폴더에 μ €μž₯λ˜μ–΄ λ³„λ„λ‘œ κ΄€λ¦¬λ˜κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€.


from 과 import의 차이

  • import ν‚€μ›Œλ“œ : νŒ¨ν‚€μ§€ 및 λͺ¨λ“ˆ 전체λ₯Ό 뢈러옴

  • from ν‚€μ›Œλ“œ : νŠΉμ • νŒ¨ν‚€μ§€μ˜ νŠΉμ • λͺ¨λ“ˆ, λ˜λŠ” νŠΉμ • λͺ¨λ“ˆμ˜ νŠΉμ • ν•¨μˆ˜λ§Œ 뢈러옴

예λ₯Ό λ“€μ–΄ import requestsλŠ” requests νŒ¨ν‚€μ§€ 전체λ₯Ό λΆˆλŸ¬μ˜€μ§€λ§Œ, from requests import get은 requests νŒ¨ν‚€μ§€ λ‚΄μ˜ get ν•¨μˆ˜λ§Œ λΆˆλŸ¬μ˜΅λ‹ˆλ‹€.

requestsλŠ” ν•˜λ‚˜μ˜ νŒ¨ν‚€μ§€μ΄μ§€λ§Œ, νŒ¨ν‚€μ§€ μ•ˆμ— __init__.py νŒŒμΌμ„ ν¬ν•¨ν•©λ‹ˆλ‹€.

이 파일둜 인해 νŒ¨ν‚€μ§€λ₯Ό ν•˜λ‚˜μ˜ λͺ¨λ“ˆμ²˜λŸΌ λ‹€λ£° 수 μžˆμŠ΅λ‹ˆλ‹€.

Mission
0 / 1

νŒŒμ΄μ¬μ—μ„œ νŒ¨ν‚€μ§€λŠ” μ—¬λŸ¬ λͺ¨λ“ˆμ„ λͺ¨μ•„놓은 폴더λ₯Ό μ˜λ―Έν•œλ‹€.

O
X

Guidelines

AI Tutor

Publish

Design

Upload

Notes

Favorites

Help

Code Editor

Run
Generate

Execution Result