파이썬 파라미터(parameter)와 아규먼트(argument)
카테고리 없음 2021. 4. 28. 12:00파라미터와 아규먼트는 비슷한 녀석 같지만 엄연히 다른 녀석이다.
파라미터는 함수 선언 시 호출 부분에서 보내주는 데이터를 받는 변수를, 아규먼트는 함수 호출 시 함수에 보내주는 데이터를 의미한다는 데, 말로 해서는 잘 모르겠고 예시를 봐야 한다.
def example(x, y):
print(x, y)
example(5, 6)
위의 예시에서 example이라는 함수가 선언되었는데, 파라미터로 x, y를 받고 있다. 그리고 마지막 줄에서는 example을 호출할 때 아규먼트로 5와 6을 입력하였다. 즉, 파라미터는 함수 선언부에서 괄호 속에 적히는 변수 그 자체를 의미하는 것이고, 아규먼트는 해당 변수에 입력할 값 자체를 의미하는 것이라고 볼 수 있다. (그래도 말로 하기는 난해하다...)
파라미터와 아규먼트와 관련해서 좀더 복잡한 내용도 있다. 바로 *, **이다. 이 녀석들은 함수의 파라미터가 몇 개인지 모를 때 사용하는 녀석들인데, **의 경우에는 변수 이름 조차 결정되지 않은(혹은 귀찮거나) 경우에 임의의 변수명을 사용할 수 있도록 딕셔너리 형태로 아규먼트를 받기 위해 사용된다.
def func(num1, num2, num3):
return num1 + num2 + num3
data = [1,2,3]
func(*data)
위의 예시는 *을 이용한 경우인데, 배열의 데이터를 하나씩 쪼개지 않고 배열 그대로를 아규먼트로 넣어버렸다
def func(num1, num2, num3):
return num1 + num2 + num3
data = {
'num1': 1,
'num2': 2,
'num3': 3
}
func(**data)
위의 예시는 **을 이용해서 딕셔너리를 아규먼트로 넣어버렸다.