본문 바로가기

python 개념정리

[파이썬] 함수

함수란?

함수(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라고 선언하였다.
이 표현은 해당 함수는 상황에 따라 다른 수의 매개변수를 전달받을 수 있다는 의미이다.

'python 개념정리' 카테고리의 다른 글

[파이썬]I/O 함수 , 파일 입출력 함수  (0) 2021.09.03
[파이썬] for 문  (0) 2021.09.02
[파이썬] 무한루프의 개념과 종료  (0) 2021.09.02
[파이썬] while문  (0) 2021.09.01
[파이썬] if 조건문 3  (0) 2021.09.01