본문 바로가기
Tutorial/Python

파이썬 문법 빠르게 훑어보기 : 함수 선언과 호출

by CLJ 2024. 3. 18.

파이썬의 함수는 다른 언어보다 쉽게 선언하고 사용할 수 있습니다. 함수 선언과 호출에 대해 알아보겠습니다.

 

1. 함수 선언

 

함수를 만들 때 첫 줄은 다음과 같은 형식입니다. 

def 함수이름(매개변수):
    실행할 코드
    return 반환값

 

예약어 def를 써주고 함수의 이름을 만들어 붙여줍니다. 여기서 함수의 이름은 대문자로 시작하는 클래스 이름과 구분하기 위해 소문자로 시작합니다. 매개변수(parameter)는 함수에 입력되는 값을 변수로 받으며, 리턴(return) 값은 함수의 결과로 반환하는 값입니다. 함수의 마지막 라인에 씁니다. 리턴값이 없을 수도 있는데 없는 경우에는 리턴문은 생략합니다.  매개변수도 없을 수 있는데 이 경우에는 () 소괄호만 씁니다.

 

예제 1: 간단한 함수 선언

def add(a, b):
    return a + b

 

위의 예에서 ab는 매개변수이며, return a + b는 두 값을 더한 결과를 반환합니다.

2. 함수 호출

 

함수를 사용할 때 함수를 호출한다고 합니다. 함수 호출할 때에는 소괄호까지 써야 합니다.

 

예제 2: 함수 호출

 

함수 호출 시에 입력하는 값이 있다면 소괄호 안에 쓰는데 이 값을 인수(argument)라고 합니다.

 

print(add(1, 2))  # 3

 

 

위의 코드에서 add(1, 2)는 함수를 호출하며, 1과 2는 인수(arguments)입니다. 함수는 이 인수를 매개변수로 받아 계산하여 3을 반환합니다.

 

매개변수와 인수

 

 

매개변수(parameter)와 인수(argument)는 순서를 맞춰 입력해야 합니다. 순서를 다르게 할 경우 아래의 코드와 같이 변수의 이름을 인수에 써 주면 됩니다.

test1 = add(1, 2)
test2 = add(b=2, a=1)
print(test1, test2)  # 3 3

 

위의 코드에서 test1test2는 동일한 결과를 출력합니다.

 

3. 매개변수의 수가 정해지지 않은 경우

 

입력값의 수를 알 수 없을 때에는 선언하는 함수의 매개변수 이름 앞에 *를 사용합니다.

 

예제 3: 가변 인자 함수

 

 

def add2(*args): 
    sum = 0
    for i in args:
        sum += i
    return sum

res1 = add2(10, 20, 30)
res2 = add2(10, 20, 30, 40, 50)
print(res1, res2)  # 60 150

 

위의 코드에서 add2 함수는 가변 인자를 받아 모든 값을 더하여 반환합니다.

 

4. 리턴(return)

 

파이썬은 다른 언어들과 달리 리턴 값이 여러 개일 수 있으며 튜플로 반환합니다.

 

예제 4: 여러 개의 리턴 값

def cal(a, b):
    add = a + b
    sub = a - b
    mul = a * b
    div = a / b
    return add, sub, mul, div  

print(cal(1, 2))  # (3, -1, 2, 0.5)

 

위의 코드에서 cal 함수는 네 개의 값을 튜플로 반환합니다.

 

5. 람다(lambda)

 

람다 함수는 익명 함수(Anonymous functions)라고도 하며, 한 줄로 간단하게 작성할 수 있습니다. def를 쓰지 않고 변수의 이름처럼  함수의 이름을 사용합니다. 리턴 명령어가 없어도 표현식의 결괏값을 리턴합니다. 

 

예제 5: 람다 함수

def add(a, b):
    return a + b

res1 = add(1, 2)
print(res1)  # 3

# 람다 함수로 변환
add2 = lambda a, b: a + b 
res2 = add2(1, 2)
print(res2)  # 3

 

위의 코드에서 add 함수를 람다 함수로 변환하여 동일한 결과를 얻을 수 있습니다.

 

 

결론

 

이상으로 파이썬 함수의 선언과 호출 방법을 알아보았습니다. 함수는 코드의 재사용성을 높여주고 가독성을 좋게 해줍니다. 파이썬의 다른 유용한 기능에 대해서도 계속해서 학습해보세요.