파이썬 필수 인수란 무엇인가?
필수 인수(Required Arguments)는 함수를 호출할 때 반드시 전달해야 하는 인수를 의미합니다. 함수 정의 시 기본값이 지정되지 않은 매개변수는 모두 필수 인수가 되며, 호출 시 정확한 개수와 순서에 맞춰 값을 넘겨주어야 합니다.
만약 필수 인수를 누락하거나 순서를 잘못 지정하면 파이썬은 TypeError를 발생시키며 프로그램 실행을 중단합니다.
예제 코드
def requiredArg(str, num):
print(str, num)
# 올바른 호출: 두 개의 필수 인수를 모두 전달
requiredArg("Hello", 15)
# 잘못된 호출: 인수를 하나만 전달
requiredArg('Hello')실행 결과
Hello 15
Traceback (most recent call last):
File "requiredarg1.py", line 4, in <module>
requiredArg('Hello')
TypeError: requiredArg() takes exactly 2 arguments (1 given)결과 해석
위 출력 결과를 보면 첫 번째 함수 호출에서는 두 개의 필수 인수를 모두 전달했기 때문에 Hello 15가 정상적으로 출력됩니다.
반면 두 번째 호출에서는 인수를 하나만 전달했습니다. 이 경우 파이썬은 TypeError를 발생시키며 "함수가 정확히 2개의 인수를 필요로 하는데 1개만 전달되었다"는 오류 메시지를 표시합니다.
핵심 정리
- 필수 인수는 생략할 수 없으며, 반드시 값을 전달해야 합니다.
- 인수의 개수와 순서가 함수 정의와 일치해야 합니다.
- 인수가 누락되면
TypeError가 발생하고 프로그램이 비정상 종료됩니다.
참고로 파이썬 3에서는 오류 메시지가 조금 다르게 표시됩니다. 예를 들어 requiredArg() missing 1 required positional argument: 'num'과 같이 어떤 인수가 누락되었는지 명확하게 알려줍니다.
이처럼 필수 인수는 함수 동작에 꼭 필요한 값이므로, 함수를 설계할 때 어떤 매개변수가 필수인지 명확하게 정의하는 것이 안정적인 코드 작성의 기본입니다.