- 함수 호출 시 매개변수의 갯수는 선언된 함수의 매개변수 갯수에 맞춰서 전달해야 한다.
- 매개변수를 전달하지 않으면 에러가 발생.
- 이를 방지하기 위해 디폴트 매개변수를 설정할 수 있다.
- 기본 호출
- 매개변수명을 지정하여 호출
- 매개변수명과 순서를 변경하여 호출
- 특정 매개변수만 선택적으로 전달
- 주의할 점: 매개변수명과 상수를 혼합하여 전달할 수 없다.
여러 개의 인수를 받을 수 있도록 *를 사용하여 함수 정의
예시 ✍️
def Func1(*ar):
print(ar)
for i in ar:
print('food.' + i)
Func1('ham', 'egg', 'spam')
def Func2(*ar, a):
print(a)
print(ar)
for i in ar:
print('food.' + i)
Func2('ham', 'egg', 'spam', a=1)
def SelProcess(choice, *ar):
if choice == 'sum':
re = 0
for i in ar:
re += i
elif choice == 'mul':
re = 1
for i in ar:
re *= i
return re
print(SelProcess('sum', 100, 97, 70))
print(SelProcess('mul', 100, 97, 70))
**를 사용하여 딕셔너리 타입의 매개변수를 받을 수 있다.
def Func3(w, h, **other):
print(f'몸무게 {w}, 키 {h}')
print(other)
Func3(65, 175, itrum='홍길동', nai=23, sung='남', addr='서울시 강남구')