All about Python/기본

13. Python 함수(Functions)

① 한 가지 작업을 여러번 반복할 필요가 있을 때 함수를 정의해 호출한다.

  ㉠ 함수를 통해 불필요하게 반복되는 소스 코드를 줄일 수 있다.

함수의 기본 구조는 다음과 같다.

 

  ㉠ def 키워드로 함수를 선언할 수 있다.

  ㉡ def 뒤에 나온 square가 함수의 이름에 해당한다.

    ⓐ 함수를 호출(call)하기 위해선 함수의 이름을 이용한다.

  ㉢ 함수에 입력이 존재할 경우 괄호 뒤에 나오는 매개변수(parameters)에 값을 전달한다.

    ⓐ 매개 변수는 함수 내에서 함수를 구성하기 위해 사용하는 변수이다.

    ⓑ 함수가 호출되어지면 값(인자, arguments)이 매개변수 할당된다.

    ⓒ 함수가 실행되는 시점엔 매개변수엔 값이 이미 할당되어 있다.

  ㉣ 함수에 입력이 존재하지 않는다면 괄호 안에 매개 변수를 생략해도 무관하다.

 

  ㉤ 함수에 반환값이 존재할 경우 return 키워드를 이용해 값을 반환한다.

  ㉥ 함수에 반환값이 존재하지 않는다면 return 문을 생략해도 무관하다.

 

매개 변수는 두 개 이상 설정할 수도 있다. 대신, 매개 변수의 사이는 컴마로 구분한다.

  ㉠ 값은 앞에서부터 차례대로 매개변수에 전달된다.

 

  ㉡ 매개변수에 값을 직접 전달해주면 순서와 상관없다.

 

④ 함수의 각 매개변수에 기본값을 설정할 수 있다.

  ㉠ 기본값을 설정하면 다음과 같이 된다.

 

  ㉡ 매개변수의 기본값을 설정할 때는 항상 비기본값의 순서가 기본값의 순서보다 앞에 있어야 한다.

    ⓐ 바꿔 말하면 기본값이 등장하고 비기본값이 등장하면 안된다.

비기본값이 등장하고 기본값이 등장했으므로 올바른 예시이다.

    ⓐ 매개변수 name 뒤에 기본값이 존재하는 매개변수 song이 등장했으므로 옳은 예시이다.

 

    ⓑ 기본값이 존재하는 매개변수 name이 등장한 후 기본값이 존재하지 않는 매개변수 song 이 등장했으므로 틀린 예시이다.

 

 

    ⓒ 기본값이 존재하는 매개변수 name 뒤에 기본값이 존재하는 매개변수 song이 등장했으므로 옳은 예시이다.