이번 시간에는 함수에 인자(Arguments)를 전달하지 않을 경우 에러가 발생할 수 있는데, 이를 어떻게 처리할지를 알아보도록 하겠습니다. 만약 이럴경우 함수에 인자가 없을 경우를 대비해 초기값(default)를 지정해 두면 에러가 발생하지 않습니다. 무슨말인지 감이 안오시면 아래 그림을 보면서 확인해 보시기 바랍니다. 그리고 모바일에서 볼 때 폰트가 너무 작아 가독성이 좋지 않다는 의견을 주신분들이 계셔서 Pycharm 의 코드, 콘솔 폰트의 크기를 키워보았습니다. 의견 주신분들께 감사드립니다. 그럼 시작해 보겠습니다.
우선 성별을 판단하는 함수를 정의하였습니다. 이전에 다룬 함수들과 다른점이 보이시나요? Arguments(인자)에 미리 값이 지정이 되어 있네요. 바로 sex='Unknown' 으로 말이죠. 이 부분이 이번 시간에 주효하게 다룰 부분입니다. 함수를 호출하는 과정에서 인자가 전달 되지 않는 함수 호출이 발생하게 되면, 여기에 있는 default 값을 인자로 사용해서 함수를 처리한다는 것입니다.
전달될 인자가 'm' or 'male' 이라고 판단이 되면 'Male'을 sex 라는 변수에 저장하게 합니다.
마찬가지로 만약 'f' or 'female' 값이 인자로 들어왔다면 sex 에 'Female' 값을 지정하게 합니다.
그리고 sex 값에 어떤값이 있는지 확인하는 print() 로 이 함수를 마무리 하였습니다. 이제 이 함수를 호출하였을 때 어떤 결과를 보여줄지 확인해보죠.
위와 같이 3가지 경우로 함수를 호출하였습니다. 'm'을 인자로 함수를 호출할 경우, 'f'를 인자로 함수를 호출할 경우, 그리고 어떠한 인자도 전달하지 않고 함수를 호출할 경우입니다. 결과를 한번 예상해 보세요.
결과는 위와 같이 'Male', 'Female', 'Unknown' 으로 차례대로 나옵니다. 여기서 주목할 점은 마지막 3번째 결과이겠죠. 인자 전달이 없는데 에러가 발생하지 않고 함수에서 지정한 초기값(default) 으로 함수를 처리하고 그 결과를 출력을 해주고 있습니다. 프로그래밍을 하다가 보면 이렇게 초기값을 설정해 두어야 하는 경우가 종종 발생하는데 그럴경우에 유용하게 사용할 개념입니다. 이번장은 여기까지 입니다. 수고하셨습니다.
'Programming > Python Tutorials' 카테고리의 다른 글
[PYTHON 3] Tutorials 15. Keyword Arguments (0) | 2015.11.23 |
---|---|
[PYTHON 3] Tutorials 14. Variable Scope (0) | 2015.11.23 |
[PYTHON 3] Tutorials 12. Return Value (0) | 2015.11.21 |
[PYTHON 3] Tutorials 11. Function (0) | 2015.11.20 |
[PYTHON 3] Tutorials 10. Continue (1) | 2015.11.20 |