함수의 구조
def add(a,b):
return a+b << a+b의 값을 반환.
매개변수 와 인수 .
매개변수와 인수는 혼용해서 사용되는 햇갈리는 용어이므로 잘기억해두자 .
매개변수는 함수에 입력으로 전달된 값을 받는 변수를 의미하고 인수는 함수를 호출할때 전달된 값을 의미한다 .
매개변수 지정하여 호출하기
보통 우리는 다음과같이 매개변수를 썻다
def add(a,b):
...
하지만 매개변수를 지정하면
앞에서 본 add 함수입니다 이 함수를 다음과 같이 매개변수를 지정하여 사용할 수 있다
result =add(a=2,b=3):
return a+b
입력값이 몇 개가 될지 모를 떄는 어찌 할까 ??
우리는 다음과 같은 방법을 쓸수 있다 .
def 함수이름 (*매개변수):
수행할 문장
다음은 예시 입니다 .
def add_many(*args):
result=0
for i in args:
result=result+i
return result
몇개인지 모르는 값들을 *args의 매개변수로 받은후
for 문으로 차례대로 실행합니다 .
비슷한 예로 키워드 파라미터 가 있다 .
def print_kwargs(**kwargs):
print(kwargs)
print_kwargs 함수는 매개변수 kwargs 를 출력하는 함수이다. 이제 이 함수를 다음과 같이 써 보 자
print_kwargs(a=1)
{'a':1}
print_kwargs(name='foo',age=3)
{'age:3 , 'name':'foo'}
입력값 a=1 또는 name='foo',age=3이 모두 딕셔너리로 만들어져서 출력된다는것을 확인할수있다. 즉 kwargs처럼 매개변수 이름 앞에 을 붙이면 매개변수 kwargs는 딕셔너리가 되고 모든 key=value 형태의 결괏값이 그 딕셔너리의 저장된다 .