πŸ› οΈBackend/⚑Python

[Python] 9κ°• - ν•¨μˆ˜

junbin2 2025. 4. 17. 21:24

1. ν•¨μˆ˜μ˜ 이해

(1) ν•¨μˆ˜μ˜ κ°œλ… 

 - νŠΉμ • μž‘μ—…μ„ μˆ˜ν–‰ν•˜λŠ” λͺ…λ Ήλ¬Έμ˜ 집합을 μ˜λ―Έν•œλ‹€. ( μ½”λ“œ 블둝에 이름을 뢙여놓은 것 )

 - ν•„μš”ν•  λ•Œλ§ˆλ‹€ ν•΄λ‹Ή 이름을 ν˜ΈμΆœν•΄μ„œ 반볡적으둜 μ‚¬μš©ν•  수 μžˆλŠ” μž¬μ‚¬μš© κ°€λŠ₯ν•œ μ½”λ“œ 집합을 μ˜λ―Έν•œλ‹€.

 - ν•¨μˆ˜λ₯Ό ν™œμš©ν•˜λ©΄ μ½”λ“œμ˜ 가독성 및 μœ μ§€λ³΄μˆ˜κ°€ 쒋아짐

 

(2) ν•¨μˆ˜μ˜ μ’…λ₯˜

[1] λ‚΄μž₯ ν•¨μˆ˜

 - 파이썬의 λ‚΄μž₯ ν•¨μˆ˜λ‘œλŠ” λŒ€ν‘œμ μœΌλ‘œ print() , input() , format() , int() λ“± λ‹€μ–‘ν•œ ν•¨μˆ˜κ°€ λ‚΄μž₯이 λ˜μ–΄μžˆμŒ.

[2] μ‚¬μš©μž μ •μ˜ ν•¨μˆ˜

def add(a, b):
  print(a + b) # a + b κ²°κ³Όκ°’ 좜λ ₯

add(1, 2) # ν•¨μˆ˜ 호좜

 - μ‚¬μš©μž μ •μ˜ ν•¨μˆ˜λŠ” 직접 ν•¨μˆ˜λ₯Ό λ§Œλ“€μ–΄μ„œ λͺ…λ Ήλ¬Έ λ‘œμ§μ„ λ§Œλ“€μ–΄ λ‚΄λŠ” 것이닀.

 - ν•΄λ‹Ή ν•¨μˆ˜λ₯Ό 호좜 ν•˜λ©΄ ν•΄λ‹Ή ν•¨μˆ˜μ˜ μ½”λ“œλΈ”λ‘μ΄ 싀행이 λœλ‹€.

[3] λ°˜ν™˜κ°’μ΄ μ—†λŠ” ν•¨μˆ˜

def add(a, b):
  print(a + b) # a + b κ²°κ³Όκ°’ 좜λ ₯

add(1, 2) # ν•¨μˆ˜ 호좜

 - return 이 μ—†λŠ” 경우 λ°˜ν™˜κ°’μ΄ μ—†λŠ” ν•¨μˆ˜μ΄λ‹€.

[4] λ°˜ν™˜κ°’μ΄ μžˆλŠ” ν•¨μˆ˜

def add(a, b):
  return a + b

sum = add(1, 2) # λ°˜ν™˜κ°’μ„ λ°›μ•„ λ³€μˆ˜μ— ν• λ‹Ή
print(sum) # λ³€μˆ˜κ°’ 좜λ ₯

 - return 을 톡해 ν•¨μˆ˜κ°€ 끝날 λ•Œ λ°˜ν™˜κ°’μ„ 전달 ν•  수 μžˆλ‹€. 전달 받은 λ°˜ν™˜κ°’μ€ ν•¨μˆ˜ 호좜 뢀뢄에 λ‹€μ‹œ λŒμ•„μ˜€κ²Œ λœλ‹€.

 - λ‚΄μž₯ν•¨μˆ˜λ‘œλŠ” format() ν•¨μˆ˜ input() ν•¨μˆ˜ 등이 μžˆλ‹€.

 

(3) λ§€κ°œλ³€μˆ˜

 - ν•¨μˆ˜μ— 값을 μ „λ‹¬ν•΄μ£ΌλŠ” λ³€μˆ˜λ₯Ό "λ§€κ°œλ³€μˆ˜"라고 ν•œλ‹€.

def add(a, b): # λ§€κ°œλ³€μˆ˜
  print(a + b)

add(1, 2) # ν•¨μˆ˜ 호좜 μ‹œ λ„£λŠ” 이 λ³€μˆ˜λ₯Ό λ§€κ°œλ³€μˆ˜λΌν•¨.

 - ν•¨μˆ˜μ— a, b 둜 μ–΄λ– ν•œ 값을 λ°›λŠ” 과정이 κ²°κ΅­ λ³€μˆ˜ μ„ μ–Έκ³Ό μ΄ˆκΈ°ν™”μ™€ λΉ„μŠ·ν•¨. 즉, λ³€μˆ˜λ‘œ λ³Ό 수 있음.

 


2. λ³€μˆ˜μ˜ μŠ€μ½”ν”„

(1) μ „μ—­λ³€μˆ˜

 - ν”„λ‘œκ·Έλž¨ 전체 μ˜μ—­μ—μ„œ 접근이 κ°€λŠ₯ν•œ λ³€μˆ˜

count = 0  # μ „μ—­ λ³€μˆ˜

def increment():
    global count
    count += 1

increment()
print(count)  # 1

 

(2) μ§€μ—­λ³€μˆ˜

 - νŠΉμ • 블둝(ν•¨μˆ˜, 쑰건문, 반볡문 λ“±) μ•ˆμ—μ„œλ§Œ μ‚¬μš©μ΄ κ°€λŠ₯ν•œ λ³€μˆ˜.

def greet():
    message = "Hello"  # μ§€μ—­ λ³€μˆ˜
    print(message)

greet()
# print(message)  # 였λ₯˜: messageλŠ” ν•¨μˆ˜ λ°–μ—μ„œλŠ” μ‘΄μž¬ν•˜μ§€ μ•ŠμŒ

 

(3) κ°€λ³€ λ§€κ°œλ³€μˆ˜

 - λ§€κ°œλ³€μˆ˜μ˜ κ°œμˆ˜κ°€ μ •ν•΄μ Έ μžˆμ§€ μ•Šμ€ κ²½μš°μ—λ„ λ©”μ„œλ“œμ— 인자λ₯Ό λ„˜κΈΈ 수 μžˆλ„λ‘ ν•˜λŠ” κΈ°λŠ₯이닀.

 - μ‰½κ²Œ 말해, λ§€κ°œλ³€μˆ˜λ‘œ 값을 μ›ν•˜λŠ” 만큼 넣어도 ν•΄λ‹Ή ν•¨μˆ˜μ—μ„  λ°°μ—΄λ‘œ μ „λΆ€ λ„£μ–΄μ€Œ. κ°€λ³€μ μž„.

def func(*args):
    print(args)  # νŠœν”Œ ν˜•νƒœλ‘œ λ“€μ–΄μ˜΄

func(1, 2, 3)  # 좜λ ₯: (1, 2, 3)