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

파이썬 함수 기초 1

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

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

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

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

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

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

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

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

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

In [2]:
twotimes(2)
Out[2]:
4
In [3]:
twotimes(10)
Out[3]:
20

연습 문제 1

  1. 짝수가 입력되면 "짝수"라는 문자열을, 홀수가 입력되면 "홀수"라는 문자열을 출력하는 함수를 만든다.
  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 [22]:
def add(x, y):
    return x + y
In [23]:
add(1, 2)
Out[23]:
3
In [1]:
def sum(a, b, c):
    s = a + b + c
    return s
In [25]:
sum(1, 2, 3)
Out[25]:
6

연습 문제 3

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

사용 예는 다음과 같다.

>>> days2(2015, 1)
31

질문/덧글

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