파이썬

Python 12. 사용자 정의 함수

아리벱 2024. 3. 15. 17:40

안녕하세요!

오늘은 파이썬에 내장되어 있는 함수를 익혔으니 앞으로 사용자가 직접 함수를 만들는 방법 및 활용법에 대해서 이야기해보고자 합니다. 앞으로 사용자 정의 함수가 정말 많이 이용될 터이니 정확히 이해하고 갑시다!

 

1. 사용자 정의 함수

사용자 정의 함수란 사용자가 특정 작업을 수행하기 위해 직접 작성한 함수를 의미합니다. 파이썬에는 많은 내장 함수들이 있지만, 때로는 우리의 요구사항에 맞게 동작하는 함수를 직접 만들어야 할 때가 있습니다. 이때 사용자 정의 함수를 작성하게 됩니다. 기본적인 구조는 아래와 같습니다.

```

def 함수명(매개변수1, 매개변수2,...)

   함수가 실행될 때 실행할 문장

   return 결과값

```

1-1. 매개변수와 반환 값이 없는 함수

1-2. 매개변수가 있고 반환 값이 없는 함수

1-3. 반환 값이 있는 함수

temp = func4() 는 temp에 저장된 값이 없기 때문에 None이 출력됩니다.

temp = func4는 서로 같은 메모리에 값을 저장했기 때문에 temp()를 출력하면 None이 아니라 func4 함수와 같은 값이 출력됩니다.

 

반환 값이 있는 경우에는 None이 아닌 반환 값이 출력됩니다.

1-4. 기본 값이 설정된 매개변수

num1 = 1, num2 = 1로 기본 값이 지정되었기 때문에 지정해주지 않으면 기본 값으로 인식하여 연산합니다.

 

1-5. 가변 매개변수

함수를 호출할 때 *를 사용하면 시퀀스(리스트, 튜플 등)의 요소를 개별적인 위치 인자로 풀어서 전달할 수 있습니다.

*args를 출력해보면 튜플 형태임을 알 수 있습니다.

함수 내부에서는 튜플로 인식한다는 것을 알 수 있습니다.

1-6. 키워드 매개변수

**kwargs를 출려해보면 딕셔너리 형태임을 알 수 있습니다.

함수 내부에서는 딕셔너리로 인식합니다.

매개변수명과 딕셔너리의 키가 같아야 합니다. 또, 딕셔너리의 키는 반드시 문자열 형태이어야 합니다.

**dic과 달리 *dic은 매개 변수 순서에 따라 키가 저장됩니다.

 

1-7. 여러 개의 반환 값

파이썬에서는 여러 개의 반환 값을 출력할 수 있습니다. 여러 함수를 생성하였더라도 모든 함수를 꼭 쓰지 않아도 됩니다.

 

여기서 곱셈만 출력하고 싶을 때에는 ('_')를 이용합니다.

 

어떤 함수를 만들 수 있고 어떻게 반환해야 하는지 알아보았습니다.

앞으로 파이썬을 활용하기 위해서는 사용자 정의 함수의 개념을 제대로 이해해야 한다고 생각합니다.

헷갈렸던 부분이 있으면 꼭 복습하고 넘어가도록 합시다!