Chapter 03 함수

Ruinak·2021년 8월 6일
0

BigData

목록 보기
3/7
post-thumbnail

1. 사용자 정의 함수

  • 자주 사용되는 일련의 코드를 반복적으로 기술한다면 프로그램이 길어질뿐만 아니라 복잡해져서 가독성을 떨어뜨립니다.
  • 이런 단점을 해결하기 위해 함수를 사용하며 단순히 함수를 호출하면 관련 코드를 실행시킬 수 있습니다.
  • 뿐만 아니라 함수에 값을 입력하고 그 결과를 호출한 곳으로 출력할 수도 있습니다.
  • 자주 사용되거나 수학 공식과 같은 일반적으로 널리 알려진 기능들은 이미 만들어져 있어서 단순히 호출하여 사용하면 됩니다.
    - 앞에서 사용했던 print( ), range( ), type( )과 같은 함수가 여기에 해당됩니다
  • 파이썬에서 제공하는 것보다 더 많은 기능들을 제공하기 위해 다양한 영역에서 필요한 기능들을 모듈(module) 형식으로 제공하고 있습니다.
    - 함수라기 보다 객체지향 개념으로 메서드(method)라고 합니다.
  • 모듈에서조차 지원하지 않는 기능이 필요하다면, '사용자 정의 함수'의 기능을 사용하면 됩니다.
  • 아래는 사용자 정의 함수의 기본 형식입니다.
  • 기본적으로 함수를 호출하면 함수 내부에 기술된 명령어를 실행합니다.
  • 함수의 옵션 사항이 있어 아래와 같이 4가지 유형의 함수를 작성할 수 있습니다.
  • 함수명 다음의 괄호 안에 내용이 있으면 입력값이 있다는 의미이며 비어있으면 없는 것입니다.
  • 반환값이 있다는 것은 함수에서 실행한 결과 등을 함수를 호출한 곳으로 돌려준다는 의미입니다.
  • 함수의 입력을 통하여 외부의 값을 함수 내부로 가지고 올 수 있습니다.
  • 함수의 입력값이 있다면 함수명 다음에 오는 괄호 안에 입력 인자를 나열하면 되고 없으면 비워두면 됩니다.
  • 함수의 반환은 함수가 계산한 값의 결과(반환값 또는 변수)를 함수를 호출한 쪽으로 다시 돌려줍니다.
  • 보통은 함수의 마지막 부분에 위치하며 사용하는 명령어는 'return'으로 명령문의 형식은 아래와 같습니다.
  • 위의 double( )은 입력값은 있고 return이 없으니 반환형은 없는 3번 유형입니다.
  • 위의 hello( )는 입력값도 없고, 반환값도 없으므로 1번 유형입니다.
  • 위의 double( )은 입력값도 있고, 반환값도 있으므로 4번 유형입니다.

단수 반환

  • 단수 반환은 호출한 함수가 반환하는 값이 1개라는 의미입니다.
  • 함수 double( ) 입력값은 7입니다.
  • 입력된 7의 값은 변수 n에 저장되며 이를 제곱하여 square 변수에 저장됩니다.
  • 마지막 명령문인 return square는 결과값인 square를 호출한 print( ) 함수 쪽으로 반환하게 되어 49의 값이 출력됩니다.
  • add( ) 함수는 입력값이 2개임을 알 수 있습니다.
  • 3은 변수 a에 5는 변수 b에 각각 저장되며 더한 결과가 sum에 저장된 후 return을 통해서 그 결과를 print( ) 함수 위치로 변환되어 8이 출력됩니다.

복수 반환

  • 반환되는 값이 2개 이상일 때는 위의 예제와 같이 콤마( , )로 나열하면 됩니다.
  • 복수 개의 반환을 하는 기능은 대부분의 다른 언어에서는 지원하지 않습니다.
  • 위 코드는 동작하지 않았습니다.
  • 파이썬은 기본적으로 모든 변수들이 객체로 동작하기 때문에 객체 단위의 메모리 주소의 개념을 이해해야 합니다.
  • swap( ) 함수에서 a와 b를 받은 후 순서를 바꾸어 반환하니 값이 바뀌었음을 확인할 수 있습니다.

예제 3-1

2. 함수의 응용

터틀 그래픽

Anaconda는 지원하지 않는 기능인거 같습니다. 추후 공부

profile
Nil Desperandum <절대 절망하지 마라>

0개의 댓글