λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
  • Welcome.
:: Python 🚩/기초

[Python] 13_function_1 [def ν•¨μˆ˜]

by EunBird 2021. 3. 3.

ν•¨μˆ˜μ˜ ꡬ쑰


def ν•¨μˆ˜μ΄λ¦„([인수, ...]): # ν•¨μˆ˜μ˜ μΈμˆ˜λŠ” ν•„μš”μ—†μœΌλ©΄ μƒλž΅ν•  수 있고 ν•„μš”ν•˜λ©΄ ν•„μš”ν•œ 만큼 μ‚¬μš©ν•  수 μžˆλ‹€.
    ν•¨μˆ˜κ°€ μ‹€ν–‰ν•  λ¬Έμž₯
    ...
    [return ν•¨μˆ˜λ₯Ό μ‹€ν–‰ν•œ κ²°κ³Ό κ°’] # ν•¨μˆ˜λ₯Ό μ‹€ν–‰ν•œ κ²°κ³Όκ°€ μ—†λ‹€λ©΄ return을 μƒλž΅ν•  수 μžˆλ‹€.

 

 

ν•¨μˆ˜μ˜ μ‹€ν–‰ μˆœμ„œ:


ν”„λ‘œκ·Έλž¨μ—μ„œ ν•¨μˆ˜κ°€ 호좜되면 호좜된 ν•¨μˆ˜λ‘œ μ œμ–΄κ°€ λ„˜μ–΄κ°„λ‹€. => 볡귀 μ£Όμ†ŒλŠ” μŠ€νƒμ— μ €μž₯λœλ‹€.
호좜된 ν•¨μˆ˜μ—μ„œ μ •μ˜ν•œ κΈ°λŠ₯을 λκΉŒμ§€ λͺ¨λ‘ μ‹€ν–‰ν•˜κ±°λ‚˜ return을 λ§Œλ‚˜λ©΄

ν•¨μˆ˜κ°€ μ’…λ£Œλ˜κ³  ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•œ λ¬Έμž₯으둜 λŒμ•„κ°„λ‹€.

 

return 뒀에 값이 있으면 값을 가지고 λŒμ•„κ°€κ³ 

return 뒀에 값이 μ—†κ±°λ‚˜ return μžμ²΄κ°€ μ—†μœΌλ©΄ None을 가지고 λŒμ•„κ°„λ‹€.

 


γ…‘γ…‘γ…‘γ…‘γ…‘

# κ°€μž₯ μΌλ°˜μ μΈ ν•¨μˆ˜μ˜ λͺ¨μ–‘
# ν•¨μˆ˜λŠ” μ •μ˜ λ‹¨κ³„μ—μ„œλŠ” μ‹€ν–‰λ˜μ§€ μ•Šκ³  ν˜ΈμΆœμ„ ν•΄μ•Όλ§Œ μ‹€ν–‰λœλ‹€.
# a, b 2개의 λ°μ΄ν„°λ₯Ό μΈμˆ˜λ‘œ λ„˜κ²¨λ°›μ•„ λ§μ…ˆμ„ μ‹€ν–‰ν•œ ν›„ κ²°κ³Όλ₯Ό return ν•˜λŠ” ν•¨μˆ˜
def add(a, b):
    print('add(a, b) ν•¨μˆ˜κ°€ μ‹€ν–‰λ©λ‹ˆλ‹€.')
    result b
    a = 999 # κ°€μΈμˆ˜ κ°’을 λ³€κ²½ν•œλ‹€.
    print('κ°€μΈμˆ˜ a : {}'.format(a))
    return result
# ===== ν•¨μˆ˜ μ •μ˜ λ

# κ°€μž₯ 일반적인 ν•¨μˆ˜μ˜ λͺ¨μ–‘
# ν•¨μˆ˜λŠ” μ •μ˜ λ‹¨κ³„μ—μ„œλŠ” μ‹€ν–‰λ˜μ§€ μ•Šκ³  ν˜ΈμΆœμ„ ν•΄μ•Όλ§Œ μ‹€ν–‰λœλ‹€.
# a, b 2개의 데이터λ₯Ό 인수둜 λ„˜κ²¨λ°›μ•„ λ§μ…ˆμ„ μ‹€ν–‰ν•œ ν›„ κ²°κ³Όλ₯Ό return ν•˜λŠ” ν•¨μˆ˜
def add(a, b):
    print('add(a, b) ν•¨μˆ˜κ°€ μ‹€ν–‰λ©λ‹ˆλ‹€.')
    result = a + b
    a = 999 # κ°€μΈμˆ˜ 값을 λ³€κ²½ν•œλ‹€.
    print('κ°€μΈμˆ˜ a : {}'.format(a))
    return result
# ===== ν•¨μˆ˜ μ •μ˜ 끝

γ…‘γ…‘γ…‘γ…‘γ…‘

μ‹€μΈμˆ˜μ™€ κ°€μΈμˆ˜μ˜ 이름은 λ°˜λ“œμ‹œ κ°™μ•„μ•Ό ν•  ν•„μš”λŠ” μ—†μ§€λ§Œ

 

인수의 κ°œμˆ˜λŠ” λ°˜λ“œμ‹œ κ°™μ•„μ•Ό ν•œλ‹€.


μ˜ˆμ™Έμ μœΌλ‘œ λ””ν΄νŠΈ 인수λ₯Ό μ‚¬μš©ν•˜λ©΄ 인수의 κ°œμˆ˜κ°€ 달라도 ν•¨μˆ˜κ°€ μ •μƒμ μœΌλ‘œ μ‹€ν–‰λœλ‹€.


μ‹€μΈμˆ˜μ™€ κ°€μΈμˆ˜λŠ” μ„œλ‘œ λ…λ¦½λœ λ©”λͺ¨λ¦¬λ₯Ό μ‚¬μš©ν•˜κΈ° λ•Œλ¬Έμ—

κ°€μΈμˆ˜μ˜ 값이 λ³€κ²½λ˜λ”λΌλ„ μ‹€μΈμˆ˜μ˜ 값은 λ³€κ²½λ˜μ§€ μ•ŠλŠ”λ‹€.

 

<ν•¨μˆ˜λ₯Ό μ •μ˜ν•΄μ€Œ.>

γ…‘γ…‘γ…‘γ…‘γ…‘

a, b map(intinput('μ •μˆ˜ 2개λ₯Ό μž…λ ₯ν•˜μ„Έμš” : ').split())
result = add(a, b) # ν•¨μˆ˜ 호좜 -> ν•¨μˆ˜λ₯Ό μ •μ˜ν•œ μœ„μΉ˜λ‘œ μ œμ–΄κ°€ λ„˜μ–΄κ°”λ‹€κ°€ 결과값을 가지고 λŒμ•„μ˜¨λ‹€.
print('μ‹€μΈμˆ˜ a : {}'.format(a))
print(result)

γ…‘γ…‘γ…‘γ…‘γ…‘

a, b = map(int, input('μ •μˆ˜ 2개λ₯Ό μž…λ ₯ν•˜μ„Έμš” : ').split())
result = add(a, b) # ν•¨μˆ˜ 호좜 -> ν•¨μˆ˜λ₯Ό μ •μ˜ν•œ μœ„μΉ˜λ‘œ μ œμ–΄κ°€ λ„˜μ–΄κ°”λ‹€κ°€ 결과값을 가지고 λŒμ•„μ˜¨λ‹€.
print('μ‹€μΈμˆ˜ a : {}'.format(a))
print(result)

 

 

μ •μˆ˜ 2개λ₯Ό μž…λ ₯ν•˜μ„Έμš” : 1 2

add(a, b) ν•¨μˆ˜κ°€ μ‹€ν–‰λ©λ‹ˆλ‹€.

κ°€μΈμˆ˜ a : 999

μ‹€μΈμˆ˜ a : 1

3

 

 

 

 

μœ„μ™€ 같은 κ²°κ³Όκ°€ λ‚˜μ˜¨ μ΄μœ λŠ” λ¬΄μ—‡μΌκΉŒ?

 

일단 μ •μˆ˜2개λ₯Ό μž…λ ₯받은 ν›„,

 

    result = add(a, b)

 

에 μ˜ν•΄ add()ν•¨μˆ˜κ°€ ν˜ΈμΆœλ˜μ–΄μ„œ 

 

    print('add(a, b) ν•¨μˆ˜κ°€ μ‹€ν–‰λ©λ‹ˆλ‹€.')    

    result b
    a = 999 # κ°€μΈμˆ˜ κ°’을 λ³€κ²½ν•œλ‹€.
    print('κ°€μΈμˆ˜ a : {}'.format(a))
    return result

 

μœ„μ™€ 같은 과정을 거친 ν›„, 

 

      print('μ‹€μΈμˆ˜ a : {}'.format(a))
     print(result)

 

의 과정을 κ±°μΉœλ‹€.

728x90

λŒ“κΈ€