Skip to content

Function

함수(fuction)이란 재사용 가능한 프로그램 코드 블록으로, 자주 수행되는 작업을 매번 새로운 코드로 처리하지 않기 위해서 사용한다.

  • 내장 함수
  • 사용자 정의 함수
  • 외장 함수

함수는 크게 위와 같이 분류한다.

내장 함수

사전에 파이썬에 정의되어 있는 함수로 바로 호출하여 사용 가능하다. 객체의 자료형을 판단하는 type이나 for문과 함께 사용하는 range가 여기에 해당한다. 내장 함수를 무작정 외우기보다는 프로그래밍을 하면서 자연스럽게 익히도록 하자.

종류 | 내장 함수 | 설명 | |-----------|------| | abs | 특정 숫자 입력 받았을 때 그 숫자의 절대 값을 반환 | | all | 내용이 참이면 참(true) 하나라도거짓이 있으면 거짓(false)을 반환 | | chr | 아스키 코드 값 입력 받아 이에 해당하는 문자 출력 | | ord | 문자를 입력 받아 해당 아스키 코드 값을 리턴 | | divmod | 2개의 숫자를 입력 받아 2개 값을 나눈 몫과 나머지를 튜플 형태로 반환 | | enumerate | 자료형을 입력받아 인덱스 값을 포함하는 해당 객체를 리턴 | | eval | 실행 가능한 문자열을 입력받아 문자열을 실행한 결괏값 반환 | | id | 객체를 입력받아 객체의 고유 주소 값(레퍼런스)을 반환 | | isinstance | 첫 번째 인수로 인스턴스, 두 번째 인수로 클래스 이름을 받는다. 입력받은 클래스의 인스턴스가 맞는지를 판단하여 boolean 반환 | | len | 입력값의 길이(요소의 개수)를 반환 | | list | 반복 가능한 자료형 s를 입력받아 리스트로 만들어 반환 | | max | 반복 가능한 자료형을 입력받아 그 최댓값을 반환 | | min | 반복 가능한 자료형을 입력받아 그 최소값을 반환 | | oct | 정수 형태의 숫자를 8진수 문자열로 반환 | | pow | pow(x, y)는 x의 y 제곱한 결괏값을 반환 | | range | 입력받은 숫자에 해당하는 범위 값을 반복 가능한 객체로 만들어 반환 | | round | 숫자를 입력받아 반올림 | | sorted | 입력값을 정렬한 후 그 결과를 리스트로 반환 | | sum | 입력받은 리스트나 튜플의 모든 요소의 합을 반환 | | tuple | 반복 가능한 자료형을 입력받아 튜플 형태로 바꾸어 반환 | | type | 입력값의 자료형이 무엇인지 반환 | | zip | 동일한 개수로 이루어진 자료형을 묶어 준다 |

사용자 정의 함수

사용자 정의 함수는 매우 중요하다. 이것은 프로그래머가 자신의 프로그램에서 자주 사용되는 작업을 함수로 직접 정의하는 것으로 코드의 재사용성을 높이고 반복적인 작업을 줄일 수 있게 하기 때문이다.

기본 구조

>>> def 함수명(인수):
...     실행할 명령어
...     return 값

함수는 기본적으로 입력 값을 받아 처리하고 이에 대한 결과값을 돌려주는 형태로 이루어져 있다. (입력 -> 처리 -> 출력 )

>>> def add(a,b):
...     c=a+b
...     return c
>>> add(1,2)
3

위 코드는 두 수를 입력받아서 더한 값을 돌려주는 간단한 함수이다. 이와 같이 자주 사용하는 작업들은 함수로 정의해서 처리하는 것이 좋다.

다른 형태

하지만 모든 함수가 입력값이나 출력값이 꼭 있어야 하는 것은 아니다. 만약 입력하는 값이 없다면 인수부분을 비워두면 되고, 출력 값이 없다면 return을 적지 않으면 된다.

>>> def add(a,b):
...     c=a+b
...     print(c) # 값을 반환하지 않고 출력
>>> add(1,2)
3

위에서 처리한 함수를 리턴값 없이 만든다면 다음과 같이 할 수 있을 것이다. 보기에는 동일하게 더한 값이 출력되지만 결정적인 차이가 존재한다.

값을 반환하는 경우에는 이 값을 변수에 담아서 활용하는 것이 가능하지만, 함수 내에서 결과를 출력하는 경우에는 이것이 불가능하다는 점이다.


Last update : 8 mai 2023
Created : 15 janvier 2020