Parameter : 함수가 받는 변수 (매개변수)
def multiply(num1, num2):
return num1*num2
num1, num2가 multiply 함수의 Parameter
Argument : 함수에 실제로 들어가는 Input Value(인자)
multiply(3,6)
함수가 실제적으로 사용하는 값, 3과 6이 argument
def today(year, month, day):
print(f"오늘은 {year}년 {month}월 {day}일 입니다.")
today(2020,12,19)
순서대로 자리에 의해 parameter가 받아진 것
def tomorrow(year, month, day):
print(f"내일은 {year}년 {month}월 {day}일 입니다.")
tomorrow(day=20,year=2020, month=12)
parameter 이름으로 맞추어서 한것, 이 경우 순서가 바뀌어도 된다.
혼용하여 사용 가능.
다만, positional arguments -> keyword arguments 순서로 써야함.
default value parameter
- 함수가 호출될때 파라미터에 인자를 받아 넘김
non-default value parameter
- 함수가 호출될때 파라미터에 인자를 받아 넘겨줄 수 도 있고, 인자를 넘겨주지 않아도 keywordname-value 형식으로 선언하여 지정된 value를 넘겨줄 수 있음
def love_you(my_name = "정우성", your_name):
print(f"{my_name} loves {your_name}")
File "<assignment>", line 1
SyntaxError: non-default argument follows default argument
파이썬에서 파라미터를 받는 순서는 다음과 같으며 이 순서를 지키지 않으면 오류가 발생
def example(a,b,c=None, r="w",d=[],*ae,**ab)
a,b : positional parameter
c=none : optional parameter
r="w" : keyword parameter
d = [] : list parameter
*ae : keyword-only
**ab : var-keyword parameter
파라미터를 정의하는 순서 없이 무작위로 생성 시 함수는 어떤 파라미터에 어떤 값을 받아야 될지 정할 수 없기 때문이다.