πŸ’»μ ν”„ 투 파이썬 4μž₯ (ν•¨μˆ˜)

νŒ”λ¦¬λ™Β·2021λ…„ 3μ›” 10일
0
post-thumbnail

πŸŽν•¨μˆ˜

λ§€κ°œλ³€μˆ˜μ™€ 인수

λ§€κ°œλ³€μˆ˜(parameter) 와 인수(인자)(argument)λŠ” ν˜Όμš©ν•΄μ„œ μ‚¬μš©λ˜λŠ” ν—·κ°ˆλ¦¬λŠ” μš©μ–΄μ΄λ―€λ‘œ 잘 κΈ°μ–΅ν•΄ λ‘μž. λ§€κ°œλ³€μˆ˜λŠ” ν•¨μˆ˜μ— μž…λ ₯으둜 μ „λ‹¬λœ 값을 λ°›λŠ” λ³€μˆ˜λ₯Ό μ˜λ―Έν•˜κ³  μΈμˆ˜λŠ” ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•  λ•Œ μ „λ‹¬λ°›λŠ” μž…λ ₯값을 μ˜λ―Έν•œλ‹€.

def add(a,b):     <<< a,bλŠ” λ§€κ°œλ³€μˆ˜
	return a + b 
    
print(add(3,4))     <<< 3,4λŠ” 인수 

ν•¨μˆ˜μ˜ 4κ°€μ§€ μ’…λ₯˜

# μž…λ ₯κ°’ 결과값이 λͺ¨λ‘ μžˆλŠ” ν•¨μˆ˜ 
def add(a,b):
    result = a + b
    return result

a = add(3,4) 

print(a) # 7 

# μž…λ ₯값이 μ—†κ³  κ²°κ³Όκ°’λ§Œ μžˆλŠ” ν•¨μˆ˜ 
def say():
    return 'Hi'

a = say() 

print(a) # 'Hi'

# μž…λ ₯값이 있고 결과값이 μ—†λŠ” ν•¨μˆ˜ 
def add(a,b):
    print("%d, %d의 합은 %dμž…λ‹ˆλ‹€." % (a,b,a + b))

add(3,4) # 3,4의 합은 7 μž…λ‹ˆλ‹€.

a = add(3,4) # 3,4의 합은 7 μž…λ‹ˆλ‹€.

print(a)  # None

# μž…λ ₯κ°’κ³Ό κ²°κ³Όκ°’ λͺ¨λ‘ μ—†λŠ” ν•¨μˆ˜ 
def say():
	print('Hi')
   
say()
# Hi

κ²°κ³Όκ°’(return)이 μ—†μœΌλ©΄ λ³€μˆ˜μ— λ‹΄κΈΈμˆ˜ κ°€ μ—†λ‹€.

μ—¬λŸ¬κ°œμ˜ μž…λ ₯값을 λ°›λŠ” ν•¨μˆ˜ λ§Œλ“€κΈ°


def avg_numbers(*args):
    result = 0 
    for i in args:
        result += i 
    return result / len(args) 

avg_numbers(1,2) # 1.5 

μΈμžμ— *ν‘œμ‹œλ₯Ό 뢙이면 μΈμžμ— λ“€μ–΄μ˜€λŠ” 값을 λͺ¨λ‘ λͺ¨μ•„μ„œ νŠœν”Œλ‘œ λ§Œλ“€μ–΄μ€€λ‹€.

ν•¨μˆ˜μ˜ 결과값은 μ–Έμ œλ‚˜ ν•˜λ‚˜μ΄λ‹€.

 def add_and_mul(a,b):
 	return a+b
    	return a*b

μœ„μ™€ 같은 μ˜ˆμ‹œμ—μ„œ 좜λ ₯을 해보면

result = add_and_mul(2,3)
print(result)
# 5

μœ„ μ˜ˆμ—μ„œ λ³Ό 수 μžˆλ“―μ΄ λ‘λ²ˆμ§Έ return문인 return a*bλŠ” μ‹€ν–‰λ˜μ§€ μ•Šμ•˜λ‹€. λ”°λΌμ„œ 이 ν•¨μˆ˜λŠ” λ‹€μŒκ³Ό μ™Όμ „νžˆ λ™μΌν•˜λ‹€.

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

λ˜ν•œ return을 break처럼 μ“Έ 수 μžˆλ‹€.

def say_nick(nick):
	if nick == "바보"
    	     return
        print("λ‚˜μ˜λ³„λͺ…은 %sμž…λ‹ˆλ‹€." % nick)
        
 say_nick('μ•Όν˜Έ')
 # λ‚˜μ˜ 별λͺ…은 μ•Όν˜Έ μž…λ‹ˆλ‹€. 
 say_nick('바보')
 #

μž…λ ₯값에 바보λ₯Ό μž…λ ₯ν•˜λ©΄ return을 λ§Œλ‚˜μ„œ 더이상 μ‹€ν–‰λ˜μ§€ μ•ŠλŠ”λ‹€.

lambda

lambdaλŠ” ν•¨μˆ˜λ₯Ό 생성할 λ•Œ μ‚¬μš©ν•˜λŠ” μ˜ˆμ•½μ–΄λ‘œ def와 λ™μΌν•œ 역할을 ν•œλ‹€. 보톡 ν•¨μˆ˜λ₯Ό ν•œ μ€„λ‘œ κ°„κ²°ν•˜κ²Œ λ§Œλ“€ λ•Œ μ‚¬μš©ν•œλ‹€.

μ‚¬μš©λ²•μ€ λ‹€μŒκ³Ό κ°™λ‹€.

lambda λ§€κ°œλ³€μˆ˜1, λ§€κ°œλ³€μˆ˜2,...... : λ§€κ°œλ³€μˆ˜λ₯Ό μ‚¬μš©ν•œ ν‘œν˜„μ‹

add = lambda a, b: a+b
result = add(3,4)
print(result)
# 7 

μœ„ μ˜ˆμ œλŠ” μ•„λž˜μ™€ μ™„μ „νžˆ λ™μΌν•˜λ‹€.

def add(a, b):
	return a+b
    
result = add(3,4)
print(result)
# 7
    
profile
λ°°μ›€μ˜ 기둝

0개의 λŒ“κΈ€