Python 강좌 : 제 20강 - 사용자 정의 함수

Python User-defined Functions

Python 강좌 : 제 20강 - 사용자 정의 함수
[ Python ] - 윤대희

사용자 정의 함수(User-defined Functions)


사용자 정의 함수(User-defined Functions)는 코드를 구조적으로 설계할 수 있게 하는 역할을 합니다.

이를 통해 코드의 구조화(structuring), 모듈화(modularization), 재사용성(reusable), 가독성(Readability) 등을 높일 수 있습니다.

Python에서는 defreturn을 사용하여 사용자 정의 함수를 생성할 수 있습니다.

동일한 작업이 반복되는 경우에도 사용자 정의 함수를 호출하여 사용할 수 있습니다.


  • Tip : 동일한 작업이 반복되지 않더라도, 코드의 가독성이나 모듈화 등을 위해 사용자 정의 함수를 사용합니다.



함수 생성


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


print(add(3, 4))
print(add([1, 2, 3], [4, 5, 6]))
print(add("YUN", "DAEHEE"))
결과
7
[1, 2, 3, 4, 5, 6]
YUNDAEHEE

def 함수명(매개변수1, 매개변수2, ....):를 사용하여 사용자 정의 함수를 선언할 수 있습니다.

함수명으로 사용자 정의 함수를 호출합니다.

해당 함수에서 사용될 인수들을 매개변수들에 선언합니다.

return 반환값을 사용하여 반환값이 결과로 반환됩니다.

  • Tip : 정수, List, 문자열 등을 사용 할 수 있습니다.



기본값 설정


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


print(add(1))
print(add(1, 2))
결과
11
3

매개변수기본값을 할당할 수 있습니다.

기본값이 할당되면 함수를 호출할 때 매개변수를 채우지 않으면 기본값으로 사용합니다.



다중 입력


def add(*num):
    result = 0

    for i in num:
        result += i

    return result


print(add(1, 2, 3))
결과
6

매개변수*를 입력할 경우 개수를 지정하지 않고 매개변수를 지정할 수 있습니다.

이를 인자(Argument)라 하며, 매개변수에 전달되는 실질적인 값(value)를 의미합니다.



다중 반환


def calc(a, b):
    return a + b, a - b, a * b, a / b


print(calc(3, 1))
결과
(4, 2, 3, 3.0)

반환값을 여러개로 지정할 경우 Tuple 형식으로 결과들이 반환됩니다.

결괏값을 하나만 사용하는 res = calc(3, 1) 구조일 경우 Tuple 값으로 하나만 반환합니다.

만약, 결괏값을 함수 반환값 개수 만큼 사용하는 res1, res2, res3, res4 = calc(3, 1) 구조일 경우 각각의 결괏값이 변수에 할당됩니다.



일급 함수


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


def func(x, y, z):
    return x(y, z)


plus = add

print(plus(3, 4))
print(func(plus, 3, 4))
결과
7
7

사용자 정의 함수다른 함수의 인수로 사용할 수 있으며, 변수나 자료구조에도 저장이 가능합니다.

사용자 정의 함수로 구성된 add 함수에 plus=add를 추가하여 add 함수를 plus로 사용이 가능합니다.

또한, func함수에서 x함수, y, z인수로 사용이 가능합니다.

func(함수, 인수1, 인수2)로 사용하여 사용자 정의 함수안에서 사용자 정의 함수를 호출 할 수 있습니다.



Book Image

책이 출간되었습니다!

C#과 파이썬을 활용한 OpenCV 4 프로그래밍

컴퓨터 비전 기초 이론부터 머신러닝을 활용한 영상 처리 프로젝트까지

  • C# OpenCvSharp4
  • Python OpenCV4
  • Using Tesseract
  • Using TensorFlow
  • Using Regular Expression
  • 윤대희 저 | 위키북스

    [yes24 바로가기] [알라딘 바로가기] [교보문고 바로가기]

    후원하기


    ⤧  Previous post Python 강좌 : 제 19강 - 간소화 ⤧  Next post Python 강좌 : 제 21강 - 람다 함수
    Python Category