작성자: admin 작성일시: 2016-09-07 14:26:36 조회수: 1354 다운로드: 115
카테고리: Python 태그목록:

파이썬 함수 기초 1

함수(function)는 입력(input)을 받으면 그 입력에 해당하는 출력(output)을 반환(return)하는 기계와 같다.

예를 들어 500원을 넣으면 생수가 나오고 1000원을 넣으면 콜라가 나오는 자판기는 다음과 같은 함수이다.

f(500) = "생수"
f(1000) = "콜라"

파이썬에는 def 키워드를 사용하여 다음과 같이 함수를 만들 수 있다.

def 함수이름(입력변수이름):
   출력변수를 만드는 명령
   return 출력변수이름

def 키워드는 영어로 "정의한다"는 의미를 가지는 define 에서 만들어졌다.

예를 들어 숫자 x를 입력하면 두 배가 되도록 하는 함수는 다음과 같다.

In:
def twotimes(x):
    y = 2 * x
    return y

이렇게 만들어진 함수를 사용하려면 함수 이름과 그 뒤에 괄호로 싸인 입력값을 넣으면 된다.

In:
twotimes(2)
Out:
4
In:
twotimes(10)
Out:
20

연습 문제 1

  1. 짝수가 입력되면 "짝수"라는 문자열을, 홀수가 입력되면 "홀수"라는 문자열을 반환하는 함수를 만든다.
  2. 윤년을 나타나는 수가 입력되면 "윤년"이라는 문자열을, 그렇지 않은 수가 입력되면 "평년"이라는 문자열을 반환하는 함수를 만든다.

연습 문제 2

연습 문제 2

평년의 경우에 1, 3, 5, 7, 8, 10, 12 월은 31일, 4, 6, 9, 11월은 30일, 2월은 28일이다. 월을 나타내는 숫자를 입력하면 그 달의 날짜 수를 반환하는 함수 days 를 만든다. 사용 예는 다음과 같다.

>>> days1(11)
30

여러 개의 입력을 가지는 함수

함수의 입력은 한 개가 아니라 여러 개가 되어도 상관없다. 입력 변수가 여러개이면 쉼표, 영어로 comma 를 사용하여 함수를 정의한다. 입력 변수는 원하는 만큼 얼마든지 만들 수 있다.

def 함수이름(입력변수1, 입력변수2, 입력변수3):
   출력변수를 만드는 명령
   return 출력변수이름
In:
def add(x, y):
    return x + y
In:
add(1, 2)
Out:
3
In:
def sum(a, b, c):
    s = a + b + c
    return s
In:
sum(1, 2, 3)
Out:
6

연습 문제 3

연도를 나타내는 숫자와 월을 나타내는 숫자를 입력하면 그 달의 날짜 수를 반환하는 함수 days2 를 만든다.

사용 예는 다음과 같다.

>>> days2(2015, 1)
31

람다 함수

함수에 이름을 주지 않거나 코드를 짧게 줄여쓰는 방법으로 람다(lambda)함수라는 것이 있다. 예를 들어

def f(x):
    return 2 * x

이 함수 f 는 다음 람다 함수와 같다.

lambda x: 2 * x

람다 함수는 함수 자체를 다른 함수의 인수로 넣을 때 주로 사용한다.

질문/덧글

아직 질문이나 덧글이 없습니다. 첫번째 글을 남겨주세요!