# 함수 호출
# test() # 실행중에 TypeError 발생
# 파이썬은 함수의 파라미터 타입은 검사하지 않지만,
# 파라미터 갯수는 검사한다.
# 함수 정의
def test(x, y):
print(f'x = {x}, y = {y}')
return x + y, x - y
# positional argument : 함수를 호출할 때 전달하는 값(argument)들이
# 함수 정의에 선언된 파라미터 순서대로 전달되는 방식
plus, minus = test(1, 2)
print(plus)
print(minus)
실행 결과
x = 1, y = 2
3
-1
# keyword argument: 함수를 호출할 때, argument를
# 파라미터=값 형식으로 전달하는 방식
plus, minus = test(x = -1, y = 2)
print(plus)
print(minus)
x = -1 , y = 2
실행 결과
x = -1, y = 2
1
-3
plus, minus = test(y = -1, x = 2)
print(plus)
print(minus)
x = 2, y = -1
실행 결과
x = 2, y = -1
1
3
# default argument: 함수를 정의하는 시점에 파라미터의 기본값을 설정하는 것
def show_msg(msg : str, times: int= 2)-> None:
print(msg*times)
show_msg('졸리세요?')
실행 결과
졸리세요?졸리세요?
show_msg('아니아니요',3)
실행 결과
아니아니요아니아니요아니아니요
default argument를 갖는 parameter는 함수 정의시 맨 뒤에 위치해야 한다.