지식의 공간/파이썬

비전공자의 파이썬 독학 20. 파이썬 함수 일반적인 구조형태

빈테리 2024. 5. 21. 15:42

목차

    반응형

    프로그래밍에서 함수는 매우 중요한 역할을 합니다. 함수를 이해하기 위해, 믹서기를 예로 들어보겠습니다. 우리는 믹서기에 과일을 넣고, 믹서를 작동시켜 과일 주스를 만듭니다. 여기서 과일이 '입력'이고, 주스가 '출력'인 셈입니다. 그렇다면 믹서는 무엇일까요? 믹서는 과일을 입력받아 주스를 출력하는 함수와 비슷합니다.

     

    1. 함수란?

    우리가 배우려는 함수는 믹서기와 비슷합니다. 입력값을 받아 어떤 작업을 수행하고 그 결과를 출력하는 것이 바로 함수의 역할입니다. 어렸을 때 수학 시간에 배운 𝑓(𝑥)=𝑦라는 함수도 입력값 𝑥에 따라 출력값 𝑦가 변하는 함수입니다. 프로그래밍에서 함수는 이러한 수학적 함수와 비슷하게 작동합니다.

     

    1.1 함수를 사용하는 이유

    프로그래밍을 하다 보면 반복되는 코드를 작성하는 경우가 많습니다. 이러한 반복 작업을 효율적으로 처리하기 위해 함수가 필요합니다. 함수를 사용하면 반복되는 코드를 하나로 묶어 재사용할 수 있고, 프로그램의 흐름을 더 명확하게 볼 수 있습니다. 프로그램의 각 기능을 함수로 분리하면, 오류를 찾고 수정하는 과정도 훨씬 쉬워집니다.

     

    2. 파이썬 함수의 구조

    def 함수_이름(매개변수):
        수행할_문장1
        수행할_문장2
        ...

    def는 함수를 정의할 때 사용하는 키워드입니다. 함수 이름은 사용자가 임의로 정할 수 있으며, 괄호 안의 매개변수는 함수에 입력으로 전달되는 값을 받는 변수입니다.

     

    2.1 파이썬 함수 예시

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

    위 함수는 add라는 이름을 가지며, 두 개의 입력값 ab를 받아 이들을 더한 결과를 반환합니다.

    >>> a = 3
    >>> b = 4
    >>> c = add(a, b)  # add(3, 4)의 결과를 c에 대입
    >>> print(c)
    7

    변수 ab에 각각 3과 4를 대입하고, add 함수를 호출하여 그 결과를 변수 c에 저장한 후 출력합니다.

     

    2.2 매개변수와 인수

    매개변수(parameter)는 함수에 입력으로 전달된 값을 받는 변수를 의미하며, 인수(argument)는 함수를 호출할 때 전달하는 입력값을 의미합니다.

    def add(a, b):  # a, b는 매개변수
        return a + b
    
    print(add(3, 4))  # 3, 4는 인수

     

    매개변수를 지정하여 호출할 때는 순서에 상관없이 사용이 가능합니다.

    def subtract(a, b):
        return a - b
    
    result = subtract(b=3, a=7)
    print(result)  # 출력: 4

     

    3. 함수의 다양한 형태

    들어온 입력값이 함수에 의해 처리되면 리턴값이 나오게 됩니다. 함수의 형태는 이 두 가지 값의 유무에 따라 크게 4가지 유형으로 구분이 됩니다.

    3.1 입력값과 리턴값이 있는 함수

    가장 일반적인 형태로 입력값과 리턴값이 있는 함수입니다. 함수이름과 함께 입력값을 입력하고 리턴값을 제시해 줍니다.

    def multiply(a, b):
        return a * b

     

    3.2 입력값이 없는 함수

    입력값이 없는 함수의 경우에는 함수옆 괄호가 공란인 경우가 있습니다. 아래의 예제는 'say_hello'라는 함수를 사용하면 리턴값이 'Hello'가 된다는 의미입니다.

    def say_hello():
        return "Hello"

     

    이 함수를 사용하면 아래와 같게 됩니다.

    >>> a = say()
    >>> print(a)
    Hi

    3.3 리턴값이 없는 함수

    리턴값이 없는 함수는 함수 호출결과 리턴되는 값이 없는 경우를 말합니다.

    def print_sum(a, b):
        print(f"{a}와 {b}의 합은 {a + b}입니다.")

    위의 예제에서 a에는 1의 값을 b에는 2의 값을 입력하면 '1와 2의합은 3입니다.'라는 문장이 출력되게 됩니다.

    3.4 입력값도 리턴값도 없는 함수

    def greet():
        print("안녕하세요")

     

     

    반응형