이번에는 인자의 순서를 바꿔서 호출해 봅시다.
hi_2('programmer', '고라니')
실행결과
hi!
My name is programmer and My job is 고라니 !
인자의 순서를 바꾸니 결과가 달라집니다. 매개변수 없이 인자만 넣으면 매개변수의 순서대로 인자를 대응시키기 때문에 이런 현상이 발생합니다. 이처럼 함수를 호출할 때 매개변수를 명시해도 되고 생략해도 됩니다. 다만, 매개변수의 순서대로 인자가 대응되므로 매개변수를 생략할 때는 인자의 순서에 유의해야 합니다.
NOTE 함수에서 많이 발생하는 오류
함수를 호출할 때 매개변수 개수와 인자 개수가 일치하지 않으면 오류가 발생합니다.
hi_2('고라니')
실행결과
----> 1 hi_2('고라니')
TypeError: hi_2() missing 1 required positional argument: 'job'
TypeError가 발생합니다. 오류 내용을 보면 hi_2() 함수에 필요한 위치 인자 하나가 없다고 나옵니다. 함수 정의에는 매개변수가 2개인데, 인자는 1개여서 그렇습니다. 앞으로 이런 오류가 발생하면 당황하지 말고 매개변수와 인자 개수를 확인하세요.