기능에 따라 코드를 반복 사용하는데 함수를 쓴다. 함수는 입력값을 받아 처리한 값을 출력한다. 하지만 입력이 없을 수도 있으며, 출력 또한 없을 수도 있다.
def 함수명(매개변수): # 입력(매개변수) 생략 가능
수행문장
return 반환값 # 출력(반환값) 생략 가능
# 더하기 함수
def add(a, b): # a와 b는 매개변수
return a + b
# 함수 사용
print(add(3, 4)) # 3과 4는 인수
'''
<결과>
7
'''
<aside> 💡 매개변수(Parameter)
함수에 입력으로 전달된 값을 받는 변수
</aside>
<aside> 💡 인수(Arguments)
함수를 호출할 때 정달하는 입력값
</aside>
매개변수 지정 호출
함수 호출 시 매개변수를 직접 지정하여 호출 가능
def add(a, b):
return a + b
print(add(b = 3, a = 4)) # 순서에 상관없이 매개변수에 인수를 지정 가능
'''
<결과>
7
'''
입력값 갯수 미정
매개변수 앞에 *
사용
def add(*a):
result = 0
for i in a:
result = result + i
return result
print(add(1, 2, 3, 4))
'''
<결과>
10
'''
키워드 파라미터
매개변수 앞에 **
사용
def keywordArgs(**kwargs):
return kwargs
print(keywordArgs(hi = 123))
print(keywordArgs(name = "홍길동", age = 30))
'''
<결과>
{'hi': 123}
{'name': '홍길동', 'age': 30}
'''
kwargs
는 딕셔너리가 되고 key=value
형태의 인수가 저장된다.
두 개 이상의 결과값을 받는 방법
튜플을 이용한다.
def addAndDif(a, b):
return a + b, a - b
print(addAndDif(5, 3))
'''
<결과>
(8, 2)
'''
매개변수 초기값 설정
def add(a = 10, b = 20):
return a + b
print(add()) # 해당 매개변수로 입력이 없으면 설정된 초기값으로 계산된다.
'''
<결과>
30
'''