Guidelines

ν•¨μˆ˜λ‘œ μž¬μ‚¬μš© κ°€λŠ₯ν•œ μ½”λ“œ 블둝 λ§Œλ“€κΈ°

ν”„λ‘œκ·Έλž˜λ°μ—μ„œ ν•¨μˆ˜(Function)λŠ” νŠΉμ • μž‘μ—…μ„ μˆ˜ν–‰ν•˜λŠ” μ½”λ“œ λΈ”λ‘μœΌλ‘œ, ν•„μš”ν•œ μˆœκ°„λ§ˆλ‹€ μ •μ˜λœ ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•΄ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

ν•¨μˆ˜λŠ” μ½”λ“œμ˜ μž¬μ‚¬μš©μ„±μ„ λ†’μ΄λŠ” 데 μ€‘μš”ν•œ 역할을 ν•©λ‹ˆλ‹€.

ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜λ©΄ λ™μΌν•œ μž‘μ—…μ„ μœ„ν•œ μ½”λ“œλ₯Ό λ°˜λ³΅ν•΄ μž‘μ„±ν•  ν•„μš” 없이, ν•„μš”ν•  λ•Œ ν˜ΈμΆœν•˜μ—¬ νŠΉμ • μž‘μ—…μ„ 효율적으둜 μ²˜λ¦¬ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

ν•¨μˆ˜λ₯Ό μ •μ˜ν•˜λŠ” 방법
def ν•¨μˆ˜μ΄λ¦„(λ§€κ°œλ³€μˆ˜): μ½”λ“œ 블둝

νŒŒμ΄μ¬μ—μ„œ ν•¨μˆ˜λŠ” def ν‚€μ›Œλ“œλ‘œ μ‹œμž‘ν•˜λ©°, def ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•œ 쀄 λμ—λŠ” 콜둠(:)을 λΆ™μž…λ‹ˆλ‹€.

ν•¨μˆ˜μ΄λ¦„μ€ ν•¨μˆ˜λ₯Ό μ‹λ³„ν•˜λŠ” 데 μ‚¬μš©λ˜λ©°, ν•¨μˆ˜ 이름은 λ³€μˆ˜ 이름과 λ™μΌν•œ κ·œμΉ™(영문자, 숫자, 밑쀄 μ‚¬μš©)을 λ”°λ¦…λ‹ˆλ‹€.

콜둠(:) λ‹€μŒ μ€„μ—λŠ” λ“€μ—¬μ“°κΈ°λ‘œ μ½”λ“œ 블둝을 κ΅¬λΆ„ν•˜λ©°, μ½”λ“œ 블둝 λ‚΄λΆ€μ—λŠ” ν•¨μˆ˜κ°€ μˆ˜ν–‰ν•  μž‘μ—…μ„ κ΅¬ν˜„ν•©λ‹ˆλ‹€.

ν•„μš”ν•œ 경우 ν•¨μˆ˜ λ‚΄λΆ€μ—μ„œ μ‚¬μš©ν•  λ§€κ°œλ³€μˆ˜(parameter)λ₯Ό μ •μ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

ν•¨μˆ˜κ°€ μˆ˜ν–‰ν•œ μž‘μ—…μ˜ κ²°κ³Όλ₯Ό λ°˜ν™˜ν•˜κΈ° μœ„ν•΄μ„œλŠ” return ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.

ν•¨μˆ˜ μ •μ˜ μ˜ˆμ‹œ
# name λ§€κ°œλ³€μˆ˜λ₯Ό μ‚¬μš©ν•˜λŠ” greet ν•¨μˆ˜ μ •μ˜ def greet(name): # name λ§€κ°œλ³€μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ λ¬Έμžμ—΄ 생성 ν›„ λ°˜ν™˜ return f"μ•ˆλ…•ν•˜μ„Έμš”, {name}λ‹˜!" # μ•ˆλ…•ν•˜μ„Έμš”, μ½”λ“œν”„λ Œμ¦ˆλ‹˜! print(greet("μ½”λ“œν”„λ Œμ¦ˆ"))

μœ„ μ˜ˆμ‹œμ—μ„œ greet ν•¨μˆ˜λŠ” name λ§€κ°œλ³€μˆ˜λ₯Ό μ‚¬μš©ν•΄ λ¬Έμžμ—΄ f"μ•ˆλ…•ν•˜μ„Έμš”, {name}λ‹˜!"을 μƒμ„±ν•˜κ³ , μƒμ„±λœ λ¬Έμžμ—΄μ„ return ν‚€μ›Œλ“œλ‘œ λ°˜ν™˜ν•©λ‹ˆλ‹€.

μ •μ˜ν•œ ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•  λ•ŒλŠ” greet("μ½”λ“œν”„λ Œμ¦ˆ")와 같이 ν•¨μˆ˜ 이름 뒀에 κ΄„ν˜Έ(())λ₯Ό λΆ™μ—¬ ν˜ΈμΆœν•©λ‹ˆλ‹€.

μ΄λ•Œ κ΄„ν˜Έ μ•ˆμ—λŠ” ν•¨μˆ˜κ°€ ν•„μš”λ‘œ ν•˜λŠ” 인자(argument, μœ„ μ˜ˆμ‹œμ˜ "μ½”λ“œν”„λ Œμ¦ˆ")λ₯Ό μ „λ‹¬ν•©λ‹ˆλ‹€.

κ΄„ν˜Έ(()) 없이 ν•¨μˆ˜ μ΄λ¦„λ§Œ μ‚¬μš©ν•˜λ©΄ ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•˜μ§€ μ•Šκ³ , ν•¨μˆ˜ 객체의 μœ„μΉ˜λ₯Ό μ°Έμ‘°ν•˜κ²Œ λ©λ‹ˆλ‹€.

ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•˜λ €λ©΄ ν•¨μˆ˜ 이름 뒀에 λ°˜λ“œμ‹œ κ΄„ν˜Έλ₯Ό 뢙이고, κ΄„ν˜Έ μ•ˆμ—λŠ” ν•¨μˆ˜κ°€ ν•„μš”λ‘œ ν•˜λŠ” 인자λ₯Ό 전달해야 ν•©λ‹ˆλ‹€.

μˆ˜μ‹ 계산 ν•¨μˆ˜ 호좜 μ˜ˆμ‹œ
def calculate(num1, num2): return num1 * num2 + 10 print(calculate) # ν•¨μˆ˜ 객체 좜λ ₯ print(calculate(5, 3)) # 25 print(calculate(2, 4)) # 18

μœ„ μ½”λ“œμ—μ„œ calculate ν•¨μˆ˜λŠ” 두 개의 λ§€κ°œλ³€μˆ˜λ₯Ό num1κ³Ό num2λ₯Ό μ‚¬μš©ν•΄ num1 * num2 + 10을 κ³„μ‚°ν•˜κ³ , κ²°κ³Όλ₯Ό return ν‚€μ›Œλ“œλ‘œ λ°˜ν™˜ν•©λ‹ˆλ‹€.

calculateλŠ” ν•¨μˆ˜κ°€ μ €μž₯된 μœ„μΉ˜λ₯Ό ν¬ν•¨ν•œ ν•¨μˆ˜ 객체λ₯Ό 좜λ ₯ν•˜λ©°, μ˜λ„ν–ˆλ˜ 숫자 연산을 μˆ˜ν–‰ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

반면 calculate(5, 3)와 calculate(2, 4)λŠ” 각각 25와 18을 λ°˜ν™˜ν•©λ‹ˆλ‹€.

Mission
0 / 1

μ•„λž˜ λΉˆμΉΈμ— κ°€μž₯ μ•Œλ§žμ€ λ‹¨μ–΄λŠ” λ¬΄μ—‡μΌκΉŒμš”?

νŒŒμ΄μ¬μ—μ„œ ν•¨μˆ˜λ₯Ό μ •μ˜ν•  λ•Œ μ‚¬μš©ν•˜λŠ” ν‚€μ›Œλ“œλŠ” μž…λ‹ˆλ‹€.
function
def
return
lambda

Guidelines

AI Tutor

Publish

Design

Upload

Notes

Favorites

Help

Code Editor

Run
Generate

Execution Result