๐ก ๋ณธ ํฌ์คํ ์ ์์ ๋ด์ฉ, ๊ต์ฌ, ChatGPT๋ฅผ ์ฐธ๊ณ ํ์ฌ ์ ๋ฆฌํ ํ์ต ๊ธฐ๋ก์ ๋๋ค.
๊ธ๊ณผ ๊ทธ๋ฆผ ๋ฑ ๋ชจ๋ ์ฝํ ์ธ ์ ์ ๋ฆฌ ๋ฐ ์์ฑ์ ๋ณธ ๋ธ๋ก๊ทธ์์ ์ง์ ์ ์๋์์ต๋๋ค.
Python ๊ธฐ์ด๋ถํฐ Streamlit ๋ฐ์ดํฐ ์๊ฐํ๊น์ง ์ ๋ฆฌํ๋ ํ์ต ๊ธฐ๋ก์
๋๋ค.
์ด ๊ธ์ '18. [ํ์ด์ฌ] ๋ชจ๋๊ณผ ํ๋ก์ ํธ ๊ตฌ์กฐ' ์ ๋๋ค.
Python ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ค ๋ณด๋ฉด ์ฝ๋์ ๊ธธ์ด๊ฐ ์ ์ ๊ธธ์ด์ง๊ณ , ์ฌ๋ฌ ๊ธฐ๋ฅ์ด ํ๋์ ํ์ผ์ ๋ชจ์ด๊ฒ ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
์ด๋ด ๋ ์ฝ๋๋ฅผ ๊ธฐ๋ฅ๋ณ๋ก ๋ถ๋ฆฌํ์ฌ ๊ด๋ฆฌํ๋ฉด ๊ฐ๋ ์ฑ๊ณผ ์ ์ง๋ณด์์ฑ์ด ํฌ๊ฒ ํฅ์๋๋ค.
Python์์๋ ์ด๋ฌํ ๊ตฌ์กฐํ๋ฅผ ์ํด ๋ชจ๋(module) ๊ฐ๋ ์ ์ฌ์ฉํ๋ค.
์ด๋ฒ ๊ธ์์๋ Python ํ๋ก๊ทธ๋จ์ ๊ตฌ์กฐ์ ์ผ๋ก ๊ด๋ฆฌํ๊ธฐ ์ํ ๋ชจ๋์ ๊ฐ๋ ๊ณผ __name__, __main__์ ํ์ฉํ ๊ธฐ๋ณธ์ ์ธ ํ๋ก์ ํธ ๊ตฌ์กฐ๋ฅผ
์ ๋ฆฌํด๋ณธ๋ค.
๋ชจ๋(Module)
๋ชจ๋์ Python ์ฝ๋๊ฐ ๋ด๊ธด ํ๋์ ํ์ผ(.py) ์ ์๋ฏธํ๋ค.
์ฆ, Python ํ์ผ ์์ฒด๊ฐ ํ๋์ ๋ชจ๋์ด๋ค.
์๋ฅผ ๋ค์ด ๋ค์๊ณผ ๊ฐ์ ํ์ผ์ด ์๋ค๊ณ ๊ฐ์ ํด๋ณด์.
# math_utils.py
def add(a, b):
return a + b
def multiply(a, b):
return a * b
์ด ํ์ผ์ math_utils๋ผ๋ ๋ชจ๋์ด ๋๋ค.
๋ค๋ฅธ ํ์ผ์์ ์ด ๋ชจ๋์ ์ฌ์ฉํ ์ ์๋ค.
import math_utils
print(math_utils.add(3, 5))
print(math_utils.multiply(3, 5))
์ด์ฒ๋ผ ๋ชจ๋์ ์ฌ์ฉํ๋ฉด ์ฝ๋๋ฅผ ๊ธฐ๋ฅ๋ณ๋ก ๋ถ๋ฆฌํ์ฌ ์ฌ์ฌ์ฉํ ์ ์๋ค.
import
๋ชจ๋์ ์ฌ์ฉํ๊ธฐ ์ํด์๋ import ํค์๋๋ฅผ ์ฌ์ฉํ๋ค.
๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๋ฐฉ์์ ๋ค์๊ณผ ๊ฐ๋ค.
import math_utils
์ด ๊ฒฝ์ฐ ๋ชจ๋ ์ด๋ฆ์ ํตํด ํจ์์ ์ ๊ทผํ๋ค.
math_utils.add(3, 5)
ํน์ ํจ์๋ง ๊ฐ์ ธ์ฌ ์๋ ์๋ค.
from math_utils import add
์ด ๊ฒฝ์ฐ ๋ชจ๋ ์ด๋ฆ ์์ด ๋ฐ๋ก ์ฌ์ฉํ ์ ์๋ค.
add(3, 5)
๋ณ์นญ์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ๋ ์๋ค.
import math_utils as mu
์ฌ์ฉ ์์
mu.add(3, 5)
์ด์ฒ๋ผ import๋ ๋ค์ํ ๋ฐฉ์์ผ๋ก ์ฌ์ฉํ ์ ์๋ค.
name
Python ํ์ผ์๋ ๊ธฐ๋ณธ์ ์ผ๋ก __name__์ด๋ผ๋ ํน๋ณํ ๋ณ์๊ฐ ์กด์ฌํ๋ค.
์ด ๋ณ์๋ ํ์ฌ ํ์ผ์ด ์ด๋ป๊ฒ ์คํ๋๋์ง๋ฅผ ์๋ ค์ค๋ค.
์๋ฅผ ๋ค์ด ๋ค์ ์ฝ๋๋ฅผ ๋ณด์.
print(__name__)
ํ์ผ์ ์ง์ ์คํํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์ถ๋ ฅ๋๋ค.
__main__
ํ์ง๋ง ๋ค๋ฅธ ํ์ผ์์ import ํ๋ฉด ๊ฒฐ๊ณผ๊ฐ ๋ฌ๋ผ์ง๋ค.
๋ชจ๋ ์ด๋ฆ
์ฆ __name__์ ํ์ฌ ํ์ผ์ ์คํ ์ํ๋ฅผ ๋ํ๋ธ๋ค.
main
Python์์๋ ๋ค์๊ณผ ๊ฐ์ ๊ตฌ์กฐ๋ฅผ ์์ฃผ ์ฌ์ฉํ๋ค.
if __name__ == "__main__":
print("program start")
์ด ์ฝ๋๋ ํ์ฌ ํ์ผ์ ์ง์ ์คํํ์ ๋๋ง ์ฝ๋๊ฐ ์คํ๋๋๋ก ํ๋ ๊ตฌ์กฐ์ด๋ค.
์๋ฅผ ๋ค์ด ๋ค์๊ณผ ๊ฐ์ ๋ชจ๋์ ๋ง๋ค ์ ์๋ค.
def greet(name):
print(f"Hello {name}")
if __name__ == "__main__":
greet("Matt")
์ด ํ์ผ์ ์ง์ ์คํํ๋ฉด ํจ์๊ฐ ์คํ๋์ง๋ง, ๋ค๋ฅธ ํ์ผ์์ importํ๋ฉด ํด๋น ์ฝ๋๋ ์คํ๋์ง ์๋๋ค.
์ด ๊ตฌ์กฐ๋ ๋ชจ๋ ์ฌ์ฌ์ฉ๊ณผ ํ ์คํธ ์ฝ๋ ์์ฑ์ ๋งค์ฐ ์ ์ฉํ๋ค.
๊ฐ๋จํ ํ๋ก์ ํธ ๊ตฌ์กฐ
ํ๋ก๊ทธ๋จ์ด ์ปค์ง๋ฉด ์ฌ๋ฌ ๋ชจ๋์ ํจ๊ป ์ฌ์ฉํ๋ ๊ตฌ์กฐ๊ฐ ๋๋ค.
์๋ฅผ ๋ค์ด ๋ค์๊ณผ ๊ฐ์ ํ๋ก์ ํธ ๊ตฌ์กฐ๋ฅผ ๋ง๋ค ์ ์๋ค.
project/
โโ main.py
โโ math_utils.py
โโ data_utils.py
์ด์ฒ๋ผ ๊ธฐ๋ฅ์ ๋ชจ๋๋ก ๋๋๋ฉด
- ์ฝ๋ ๊ด๋ฆฌ๊ฐ ์ฌ์์ง๊ณ
- ๊ธฐ๋ฅ ์ฌ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ฉฐ
- ํ๋ก๊ทธ๋จ ๊ตฌ์กฐ๊ฐ ๋ช ํํด์ง๋ค.
๋ชจ๋ ์ฌ์ฉ์ ์ฅ์
Python์์ ๋ชจ๋์ ์ฌ์ฉํ๋ ์ด์ ๋ ๋ค์๊ณผ ๊ฐ๋ค.
- ์ฝ๋ ์ฌ์ฌ์ฉ
- ๊ธฐ๋ฅ๋ณ ์ฝ๋ ๋ถ๋ฆฌ
- ์ ์ง๋ณด์ ์ฉ์ด
- ํ๋ก์ ํธ ๊ตฌ์กฐ ์ ๋ฆฌ
ํนํ ํ๋ก๊ทธ๋จ์ด ์ปค์ง์๋ก ๋ชจ๋ ๊ตฌ์กฐ๋ฅผ ์ ์ค๊ณํ๋ ๊ฒ์ด ์ค์ํ๋ค.
์ ๋ฆฌ
Python์์ ๋ชจ๋์ ์ฝ๋๋ฅผ ๊ธฐ๋ฅ๋ณ๋ก ๋ถ๋ฆฌํ์ฌ ๊ด๋ฆฌํ๊ธฐ ์ํ ๊ธฐ๋ณธ ๋จ์์ด๋ค.
.py ํ์ผ ํ๋๊ฐ ํ๋์ ๋ชจ๋์ด ๋๋ฉฐ import๋ฅผ ํตํด ๋ค๋ฅธ ํ์ผ์์ ์ฌ์ฉํ ์ ์๋ค.
๋ํ __name__๊ณผ __main__ ๊ตฌ์กฐ๋ฅผ ํ์ฉํ๋ฉด ๋ชจ๋ ์ฌ์ฌ์ฉ๊ณผ ์คํ ์ฝ๋ ๋ถ๋ฆฌ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๋ค.
ํ๋ก์ ํธ ๊ท๋ชจ๊ฐ ์ปค์ง์๋ก ๋ชจ๋์ ํ์ฉํ ๊ตฌ์กฐ์ ์ธ ์ฝ๋ ๊ด๋ฆฌ๊ฐ ์ค์ํด์ง๋ค.
๋ค์ ๊ธ์์๋ Python์์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฌํ๊ณ ์ฒ๋ฆฌํ ๋ ์์ฃผ ์ฌ์ฉํ๋ ์ ๋ ฌ ๊ธฐ์ ๊ณผ ์ ์ฉํ ๋ด์ฅ ํจ์๋ฅผ ์ดํด๋ณธ๋ค.
'Python & SQL > Python Basics' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| 20. [Streamlit] ์ค์น๋ถํฐ ์ฒซ ํ๋ฉด๊น์ง (0) | 2026.03.08 |
|---|---|
| 19. [ํ์ด์ฌ] ์ ๋ ฌ ๊ธฐ์ ๊ณผ ์ ์ฉํ ์ ํธ ํจ์ (0) | 2026.03.08 |
| 17. [ํ์ด์ฌ] ํด๋ก์ ์ ๋ฐ์ฝ๋ ์ดํฐ (2) | 2026.03.08 |
| 16. [ํ์ด์ฌ] class methos vs static method (2) | 2026.03.08 |
| 15. [ํ์ด์ฌ] ์ ๋ณด์๋๊ณผ ํด๋์ค ๋ด๋ถ ๊ตฌ์กฐ (2) | 2026.03.08 |