..

Search

15) 함수란?

함수란?


함수란?

함수(function)란 하나의 특정한 목적의 작업을 수행하기 위해 독립적으로 구성된 프로그램 코드의 집합으로 볼 수 있습니다.

 

파이썬에서 함수의 구조는 다음과 같습니다.

함수 구조

def 함수명(입력 인수):

    수행문장 1

    수행문장 2

    수행문장 3

        ⦙

 

간단하면서도 많은 것을 보여주는 다음 예제를 살펴봅시다.

코딩연습

def sum(a,b):

    return a+b

 

a=1

b=2

c=sum(a,b)

print(c)

코딩테스트 ▶

실행 결과

3

 

위의 예제에서 정의한 sum() 함수는 a와 b의 두 개의 매개변수를 가지며, 두 매개변수의 합인 a+b를 반환하는 함수입니다.

 

다음 예제의 hi() 함수는 위의 예제와는 다르게 매개변수를 가지지 않는 형태의 함수입니다.

코딩연습

def hi():

    return 'hi'

 

x=hi()

print(x)

코딩테스트 ▶

실행 결과

hi

 

다음 예제의 multi() 함수는 반환값(return)이 없는 형태의 함수입니다.

코딩연습

def multi(a,b):

    print("%d X %d의 곱은 %d입니다." % (a,b,a*b))

 

multi(2,4)

코딩테스트 ▶

실행 결과

2 X 4의 곱은 8입니다.

 

앞선 예제에서 우리는 매개변수가 없거나, 한 두개로 고정된 함수를 살펴 보았습니다.

그렇다면 상황에 따라 다른 수의 매개변수를 전달받는 함수는 어떻게 선언해야 할까요?

 

다음 예제를 통해 확인해 봅시다.

코딩연습

def sumMany(*args):

    sum = 0

    for i in args:

        sum = sum+i

    return sum

 

temp = sumMany(1,2,3,4,5,6,7,8,9,10)

print(temp)

코딩테스트 ▶

실행 결과

55

 

위 예제의 sumMany() 함수에서 우리는 매개변수를 *args라고 선언하였습니다.

이 표현은 해당 함수는 상황에 따라 다른 수의 매개변수를 전달받을 수 있다는 의미입니다.


연습문제