Python

Python 함수

Devwon99 2024. 1. 12. 16:03

함수


Python에서 함수를 정의할 때 def예약어와 함께 함수의 이름을 적어주고 :로 마치면 된다.

def print_num(): 좌측의 예시와 같이 함수명은 의미 단위로 _로 구분하는 snake case를 사용한다.

    실행될 코드

 함수와 함수 혹은 다른 코드와의 줄 간격은 일반적으로 2줄이다.

 

함수를 사용할때 특정 값을 입력받아서 함수에 전달할 때는 인자를 사용하면된다.

def print_num(n): 좌측의 예시와 같이 함수에 전달할 값을 () 소괄호 내부에 작성하면된다.

    실행될 코드

 

인자의 개수가 2개 이상인 함수


인자값은 사용자가 원하는 만큼 갯수를 늘려서 줄 수 있다.

def print_num(n, m): 좌측의 예시와 같이 함수에 전달할 값들을 소괄호 내부에 작성하면 된다.

    실행될 코드          인자 값은 원하는 만큼 넣어줄 수 있다.

위와 같이 함수를 작성하고 사용할때의 주의점은 함수 호출시 선언한 인자값의 개수만큼 넘겨줘야 한다.

위의 주의사항을 지키지 않는다면 TypeError: add() missing 1 required positional argument 해당하는 오류가 발생한다.

이런 경우를 방지하기 위해 def print_num(n, m = 0):와 같이 인자의 기본값을 정해줄 수 있다.

인자의 개수를 특정하지 않고 사용하고 싶을때는 *(asterisk) 사용할 수 있다.

def add(*args):

    return sum(args)

result = add(1, 2, 3, 4, 5)

print(result)

→ 15 출력

*(asterisk)을 사용하면 인자 개수에 상관없이 tuple 자료구조 형태로 값들을 받아온다.

tuple은 sum() 내장함수를 지원함으로 위와같이 코드를 작성할 수 있다.

반환하는 함수


함수는 특정기능을 수행하는 형식으로 작성을 할 수도 있고 값을 반환하는 형식으로 작성할 수도 있다.

def add(a + b): 

    return a + b   좌측의 예시와 같이 특정값을 반환하고 싶을때는 return 예약어를 사용해서 작성할 수 있다.