Post

[Python] ν•¨μˆ˜

πŸ“Œ λ“€μ–΄κ°€λ©°

이번 κΈ€μ—μ„œλŠ” 파이썬의 ν•¨μˆ˜(function)λ₯Ό μ •λ¦¬ν•œλ‹€. ν•¨μˆ˜λŠ” μ½”λ“œλ₯Ό μ •λ¦¬ν•˜κ³  μž¬μ‚¬μš©μ„±μ„ λ†’μ΄λŠ” 도ꡬ닀.

def ν‚€μ›Œλ“œλŠ” β€œν•¨μˆ˜λ₯Ό μ •μ˜ν•œλ‹€β€λŠ” 것을 파이썬 μΈν„°ν”„λ¦¬ν„°μ—κ²Œ μ•Œλ¦¬λŠ” 역할을 ν•œλ‹€.

Desktop View


1. κΈ°λ³Έ ν•¨μˆ˜

1
2
3
4
5
6
7
8
9
def μΈμ‚¬ν•˜κΈ°():
    print("μ•ˆλ…•ν•˜μ„Έμš”")
    print("λ°˜κ°‘μŠ΅λ‹ˆλ‹€")
    print("내이름은 무지!")

μΈμ‚¬ν•˜κΈ°()
# >>> μ•ˆλ…•ν•˜μ„Έμš”
# >>> λ°˜κ°‘μŠ΅λ‹ˆλ‹€
# >>> 내이름은 무지!

좜λ ₯문을 일일이 λ°˜λ³΅ν•  ν•„μš” 없이 ν•¨μˆ˜ 호좜 ν•œ 번으둜 μž¬μ‚¬μš©ν•œλ‹€.


2. νŒŒλΌλ―Έν„°λ₯Ό κ°–λŠ” ν•¨μˆ˜

1
2
3
4
5
6
7
8
def 청첩μž₯(μ‹ λž‘, μ‹ λΆ€):
    print("-" * 20)
    print(" μ²­ 첩 μž₯ ")
    print("-" * 20)
    print(f"{μ‹ λž‘} β™‘ {μ‹ λΆ€} κ²°ν˜Όμ„ μΆ•ν•˜ν•©λ‹ˆλ‹€")

청첩μž₯("희철", "영희")
# >>> 희철 β™‘ 영희 κ²°ν˜Όμ„ μΆ•ν•˜ν•©λ‹ˆλ‹€

리슀트 ν˜•νƒœλ‘œ 받을 μˆ˜λ„ μžˆλ‹€.

1
2
3
4
def 청첩μž₯(고객):
    print(f"{고객[0]} β™‘ {고객[1]} κ²°ν˜Όμ„ μΆ•ν•˜ν•©λ‹ˆλ‹€")

청첩μž₯(["희철", "영희"])

πŸ’‘ νŒŒλΌλ―Έν„°λ₯Ό μ–΄λ–»κ²Œ μ„€κ³„ν•˜λŠλƒλŠ” 개발자의 선택이닀. λ‹€λ§Œ μ •μ˜ν•œ λ°©μ‹λŒ€λ‘œ 호좜 μ‹œ 값을 λ„£μ–΄μ•Ό 였λ₯˜κ°€ μ•ˆ λ‚œλ‹€.


3. λ°˜ν™˜κ°’μ΄ μžˆλŠ” ν•¨μˆ˜

μ§€κΈˆκΉŒμ§€λŠ” ν•¨μˆ˜ λ‚΄λΆ€μ—μ„œ 값을 좜λ ₯ν–ˆμ§€λ§Œ, len()처럼 κ²°κ³Όλ₯Ό λ°˜ν™˜ν•˜λ©΄ κ·Έ 값을 좜λ ₯ν• μ§€ 연산에 μ“Έμ§€ μ‚¬μš©μžκ°€ κ²°μ •ν•  수 μžˆλ‹€.

1
2
3
4
5
6
7
def ν•¨μˆ˜():
    λ³€μˆ˜ = 100
    return λ³€μˆ˜      # return을 λ§Œλ‚˜λ©΄ κ°’ λ°˜ν™˜ ν›„ ν•¨μˆ˜ μ’…λ£Œ

κ²°κ³Ό = ν•¨μˆ˜()
print(κ²°κ³Ό)
# >>> 100

πŸ’‘ return을 λ§Œλ‚˜λ©΄ κ·Έ 값을 λ°˜ν™˜ν•˜κ³  ν•¨μˆ˜λŠ” μ¦‰μ‹œ μ’…λ£Œλœλ‹€(μ•„λž˜ μ½”λ“œκ°€ μžˆμ–΄λ„ μ‹€ν–‰ μ•ˆ 됨). ν•¨μˆ˜() 전체가 100μ΄λΌλŠ” 값이 λ˜μ–΄, 이λ₯Ό 결과에 λ‹΄μ•„ ν™œμš©ν•  수 μžˆλ‹€.


πŸ“ 정리

1
2
3
4
파이썬 ν•¨μˆ˜
β”œβ”€ μ •μ˜    def 이름(): ...
β”œβ”€ νŒŒλΌλ―Έν„°  def 이름(a, b): 호좜 μ‹œ κ°’ 전달
└─ λ°˜ν™˜      return κ°’ β†’ ν•¨μˆ˜λ₯Ό κ°’μ²˜λŸΌ ν™œμš©, λ§Œλ‚˜λ©΄ μ’…λ£Œ
κ°œλ…ν•œ 쀄 μ •μ˜
defν•¨μˆ˜λ₯Ό μ •μ˜ν•˜λŠ” ν‚€μ›Œλ“œ
νŒŒλΌλ―Έν„°ν•¨μˆ˜κ°€ λ°›λŠ” μž…λ ₯κ°’
returnκ²°κ³Ό λ°˜ν™˜ + ν•¨μˆ˜ μ’…λ£Œ

ν•¨μˆ˜λŠ” β€œμ½”λ“œλ₯Ό λ¬Άμ–΄ μž¬μ‚¬μš©β€ν•˜λŠ” κΈ°λ³Έ 도ꡬ닀. 특히 return이 μžˆλŠ” ν•¨μˆ˜λŠ” κ²°κ³Όλ₯Ό 좜λ ₯ν•˜λ“  연산에 μ“°λ“  자유둭게 ν™œμš©ν•  수 μžˆλ‹€. λ‹€μŒμ—” 클래슀λ₯Ό 닀룬닀.

This post is licensed under CC BY 4.0 by the author.

Comments powered by Disqus.