With AI

ํŒŒ์ด์ฌ์ด๋ž€

  • -
๋ฐ˜์‘ํ˜•

 

๐Ÿ ํŒŒ์ด์ฌ์ด๋ž€?

ํŒŒ์ด์ฌ(Python)์€ 1991๋…„ ๋„ค๋œ๋ž€๋“œ ํ”„๋กœ๊ทธ๋ž˜๋จธ์ธ ๊ท€๋„ ๋ฐ˜ ๋กœ์„ฌ(Guido van Rossum)์ด ๋ฐœํ‘œํ•œ ๊ณ ๊ธ‰ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ž…๋‹ˆ๋‹ค.
๊ฐ„๊ฒฐํ•˜๊ณ  ๊ฐ€๋…์„ฑ์ด ๋›ฐ์–ด๋‚œ ๋ฌธ๋ฒ•์œผ๋กœ ์ธํ•ด ์ดˆ๋ณด์ž๋„ ์‰ฝ๊ฒŒ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์œผ๋ฉฐ,
๋ฐ์ดํ„ฐ ๋ถ„์„, ์›น ๊ฐœ๋ฐœ, ์ธ๊ณต์ง€๋Šฅ, ์ž๋™ํ™” ๋“ฑ ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์—์„œ ํญ๋„“๊ฒŒ ํ™œ์šฉ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

 

โœ… ํŒŒ์ด์ฌ์˜ ์ฃผ์š” ํŠน์ง•

ํŠน์ง• ์„ค๋ช…
๊ฐ„๊ฒฐํ•œ ๋ฌธ๋ฒ• ๋“ค์—ฌ์“ฐ๊ธฐ๋ฅผ ํ†ตํ•ด ๋ธ”๋ก์„ ๊ตฌ๋ถ„ํ•˜์—ฌ, ์ฝ”๋“œ๊ฐ€ ์‹œ๊ฐ์ ์œผ๋กœ ๋ช…ํ™•ํ•จ
๋™์  ํƒ€์ดํ•‘(Dynamic Typing) ๋ณ€์ˆ˜์— ํƒ€์ž…์„ ๋ช…์‹œํ•˜์ง€ ์•Š์•„๋„ ์ž๋™์œผ๋กœ ํƒ€์ž…์„ ์ถ”๋ก 
ํ”Œ๋žซํผ ๋…๋ฆฝ์  ์šด์˜์ฒด์ œ์— ๊ด€๊ณ„์—†์ด ๋™์ผํ•œ ํŒŒ์ด์ฌ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ ๊ฐ€๋Šฅ
์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด ์ฝ”๋“œ๋ฅผ ํ•œ ์ค„์”ฉ ์‹คํ–‰ํ•˜๋ฉฐ, ๋น ๋ฅธ ํ…Œ์ŠคํŠธ์™€ ๋””๋ฒ„๊น… ๊ฐ€๋Šฅ
ํ’๋ถ€ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋‹ค์–‘ํ•œ ์™ธ๋ถ€ ํŒจํ‚ค์ง€๋ฅผ ํ†ตํ•ด ๊ธฐ๋Šฅ์„ ์†์‰ฝ๊ฒŒ ํ™•์žฅ ๊ฐ€๋Šฅ
๊ฐ์ฒด์ง€ํ–ฅ ์ง€์› ํด๋ž˜์Šค์™€ ๊ฐ์ฒด๋ฅผ ํ†ตํ•œ ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ ๋ฐ ๊ตฌ์กฐํ™” ๊ฐ€๋Šฅ

 

๐Ÿง  ํŒŒ์ด์ฌ์˜ ํ™œ์šฉ ๋ถ„์•ผ

๋ถ„์•ผํ™œ์šฉ ์˜ˆ์‹œ
์›น ๊ฐœ๋ฐœ Django, Flask, FastAPI
๋ฐ์ดํ„ฐ ๋ถ„์„ Pandas, NumPy, Matplotlib
๋จธ์‹ ๋Ÿฌ๋‹/๋”ฅ๋Ÿฌ๋‹ Scikit-learn, TensorFlow, PyTorch
์Šคํฌ๋ฆฝํŠธ ์ž๋™ํ™” ํŒŒ์ผ ์ฒ˜๋ฆฌ, Excel ์ž๋™ํ™”, ์›น ํฌ๋กค๋ง
๊ฒŒ์ž„ ๊ฐœ๋ฐœ Pygame ๋“ฑ
๋ณด์•ˆ/๋„คํŠธ์›Œํฌ ํŒจํ‚ท ๋ถ„์„, ํ•ดํ‚น ๋„๊ตฌ ๊ฐœ๋ฐœ
IoT/์ž„๋ฒ ๋””๋“œ ๋ผ์ฆˆ๋ฒ ๋ฆฌ ํŒŒ์ด ์ œ์–ด
API ์„œ๋ฒ„ ๊ตฌ์ถ• RESTful API ์„ค๊ณ„ ๋ฐ ๋ฐฐํฌ

 

๐Ÿ“˜ ํŒŒ์ด์ฌ ๊ธฐ๋ณธ ๋ฌธ๋ฒ• ์˜ˆ์‹œ

 

โœ… ๋ณ€์ˆ˜์™€ ์ž๋ฃŒํ˜•

name = "Alice"
age = 30
height = 168.5
is_active = True

โœ… ์กฐ๊ฑด๋ฌธ

if age > 18:
    print("์„ฑ์ธ์ž…๋‹ˆ๋‹ค.")
else:
    print("๋ฏธ์„ฑ๋…„์ž์ž…๋‹ˆ๋‹ค.")

โœ… ๋ฐ˜๋ณต๋ฌธ

for i in range(5):
    print(i)

while age > 0:
    age -= 1

โœ… ํ•จ์ˆ˜ ์ •์˜

def greet(name):
    return f"์•ˆ๋…•ํ•˜์„ธ์š”, {name}๋‹˜!"

print(greet("ํ™๊ธธ๋™"))

โœ… ํด๋ž˜์Šค์™€ ๊ฐ์ฒด์ง€ํ–ฅ

class Person:
    def __init__(self, name):
        self.name = name

    def greet(self):
        print(f"์•ˆ๋…•ํ•˜์„ธ์š”, ์ €๋Š” {self.name}์ž…๋‹ˆ๋‹ค.")

p = Person("๊น€์˜ํฌ")
p.greet()
 

๐Ÿ“ฆ ์ฃผ์š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์†Œ๊ฐœ

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์šฉ๋„
requests HTTP ์š”์ฒญ (API ํ†ต์‹  ๋“ฑ)
pandas ํ‘œ ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ ๋ถ„์„ ๋ฐ ์ฒ˜๋ฆฌ
numpy ์ˆ˜์น˜ ํ•ด์„ ๋ฐ ๊ณ ์† ๋ฐฐ์—ด ๊ณ„์‚ฐ
matplotlib, seaborn ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”
selenium ์›น ๋ธŒ๋ผ์šฐ์ € ์ž๋™ํ™”
openpyxl Excel ํŒŒ์ผ ์ฝ๊ณ  ์“ฐ๊ธฐ
flask, fastapi ์›น ์„œ๋ฒ„ ๊ตฌ์ถ• ๋ฐ API ์ œ๊ณต
openai, transformers GPT, BERT ๋“ฑ LLM ์—ฐ๋™

 

๐Ÿ›  ๊ฐœ๋ฐœ ํ™˜๊ฒฝ

ํ•ญ๋ชฉ์ถ”์ฒœ ๋„๊ตฌ
ํ•ญ๋ชฉ์ถ”์ฒœ ๋„๊ตฌ
ํŽธ์ง‘๊ธฐ VS Code, PyCharm, Jupyter Notebook
ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ pip, poetry, conda
๊ฐ€์ƒํ™˜๊ฒฝ venv, virtualenv
๋ฒ„์ „ ๊ด€๋ฆฌ pyenv, asdf
ํ˜•์‹ ๊ฒ€์‚ฌ black, flake8, mypy

 

โš–๏ธ ์žฅ์ ๊ณผ ๋‹จ์ 

์žฅ์  ๋‹จ์ 
๋ฐฐ์šฐ๊ธฐ ์‰ฝ๊ณ  ์ƒ์‚ฐ์„ฑ์ด ๋†’์Œ ์‹คํ–‰ ์†๋„๋Š” ๋‹ค์†Œ ๋А๋ฆผ (์ธํ„ฐํ”„๋ฆฌํ„ฐ ๊ธฐ๋ฐ˜)
์˜คํ”ˆ์†Œ์Šค ์ƒํƒœ๊ณ„๊ฐ€ ํ’๋ถ€ํ•จ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ์— ์ œ์•ฝ (GIL)
๋‹ค์–‘ํ•œ ๋ถ„์•ผ์— ์ ์šฉ ๊ฐ€๋Šฅ ๋ชจ๋ฐ”์ผ ์•ฑ ๊ฐœ๋ฐœ์—๋Š” ๋ถ€์ ํ•ฉ

 

๐ŸŽฏ ์‹ค๋ฌด์—์„œ์˜ ํŒŒ์ด์ฌ

  • ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค API๋ฅผ ๋น ๋ฅด๊ฒŒ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, FastAPI๋Š” ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ์—๋„ ๊ฐ•๋ ฅํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜์˜ ์˜์‚ฌ๊ฒฐ์ • ๋„๊ตฌ๋กœ, Pandas์™€ ํ•จ๊ป˜ ์‹œ๊ฐํ™”๊นŒ์ง€ ์—ฐ๊ฒฐํ•˜๋ฉด ๋ฆฌํฌํŠธ ์ž๋™ํ™”์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ์—…๋ฌด ์ž๋™ํ™”, ์‹œ์Šคํ…œ ๋ชจ๋‹ˆํ„ฐ๋ง ์Šคํฌ๋ฆฝํŠธ๋„ ์งง์€ ์ฝ”๋“œ๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์–ด DevOps์—์„œ๋„ ๋งŽ์ด ํ™œ์šฉ๋ฉ๋‹ˆ๋‹ค.
๋ฐ˜์‘ํ˜•
Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.