본문 바로가기
카테고리 없음

파이썬 함수 기초 - 정의와 호출, 매개변수 사용법

by 혜택보관소 2024. 11. 15.

프로그래밍에서 함수는 코드의 재사용성을 높이고 가독성을 개선하는 중요한 도구입니다.

함수는 특정 작업을 수행하는 코드의 집합으로, 필요할 때마다 호출하여 사용할 수 있습니다.

이 글에서는 파이썬에서 함수를 정의하고 호출하는 기본 방법과 매개변수를 사용하는 방법을 예제와 함께 알아보겠습니다.

파이썬 매개변수

1. 함수란 무엇인가?

함수는 특정 작업을 수행하는 코드 블록으로, 동일한 작업을 반복할 때 코드 중복을 줄이고 가독성을 높이는 데 유용합니다. 함수는 정의호출하여 사용할 수 있습니다.

2. 함수 정의하기

파이썬에서 함수는 def 키워드를 사용하여 정의하며, 함수 이름과 괄호 ()를 작성한 뒤 콜론 :을 붙여 함수 본문을 작성합니다.

기본 함수 구조

def 함수이름():
    실행할 코드

예제 1: 기본 함수 정의와 호출

아래 예제는 "Hello, World!"를 출력하는 간단한 함수를 정의하고 호출하는 예입니다.

def greet():
    print("Hello, World!")

greet()  # Hello, World!

위 코드에서 greet() 함수를 정의하고, 이후 호출하여 실행했습니다.

3. 매개변수와 인수

매개변수(parameter)는 함수 정의 시 정의하는 변수이며, 인수(argument)는 함수를 호출할 때 전달하는 실제 값입니다. 매개변수를 사용하면 함수가 외부 데이터를 받아 작업할 수 있습니다.

예제 2: 매개변수를 사용하는 함수

아래 예제는 이름을 매개변수로 받아 환영 인사를 출력하는 함수입니다.

def greet(name):
    print(f"Hello, {name}!")

greet("Alice")  # Hello, Alice!
greet("Bob")    # Hello, Bob!

위 함수는 name이라는 매개변수를 받아 호출 시 각기 다른 이름으로 인사를 출력합니다.

4. 반환값이 있는 함수

함수는 결과를 반환할 때 return 키워드를 사용합니다. return은 함수의 실행을 종료하고, 결과를 반환하는 역할을 합니다.

예제 3: 두 수를 더하는 함수

아래 예제는 두 수를 더한 결과를 반환하는 함수입니다.

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

result = add(3, 5)
print(result)  # 8

위 함수 add()는 두 인수를 받아 합을 계산하고, return을 통해 결과를 반환합니다.

5. 기본값을 갖는 매개변수

함수 매개변수에 기본값을 설정하면, 인수를 전달하지 않아도 기본값으로 처리됩니다. 이를 기본 매개변수라고 합니다.

예제 4: 기본값을 갖는 매개변수 사용하기

def greet(name="Guest"):
    print(f"Hello, {name}!")

greet("Alice")  # Hello, Alice!
greet()         # Hello, Guest!

위 예제에서 greet() 함수는 매개변수 name에 기본값 "Guest"를 설정했습니다. 인수를 전달하지 않으면 기본값이 사용됩니다.

6. 키워드 인수

함수를 호출할 때 매개변수 이름을 지정하여 키워드 인수 형태로 인수를 전달할 수 있습니다. 키워드 인수는 매개변수의 순서를 자유롭게 할 수 있어 가독성을 높여줍니다.

예제 5: 키워드 인수를 사용한 함수 호출

def introduce(name, age):
    print(f"My name is {name} and I'm {age} years old.")

introduce(age=30, name="Alice")  # My name is Alice and I'm 30 years old.

위 함수 호출에서는 nameage의 순서를 변경해도 결과는 동일합니다.

7. 가변 매개변수

매개변수 앞에 *를 붙이면 여러 개의 인수를 튜플로 받을 수 있으며, **를 사용하면 키워드 인수를 딕셔너리로 받을 수 있습니다.

예제 6: 가변 위치 인수

*args를 사용하여 여러 개의 인수를 받아 합계를 계산하는 함수입니다.

def add(*args):
    return sum(args)

print(add(1, 2, 3))      # 6
print(add(4, 5, 6, 7))   # 22

여러 개의 인수를 전달하면 args 튜플에 저장되어 함수 내에서 사용할 수 있습니다.

예제 7: 가변 키워드 인수

**kwargs를 사용하여 키워드 인수를 모두 받아 처리하는 함수입니다.

def introduce(**kwargs):
    for key, value in kwargs.items():
        print(f"{key}: {value}")

introduce(name="Alice", age=30, city="Seoul")

위 코드에서는 전달된 키워드 인수들이 kwargs 딕셔너리에 저장되어 각 키와 값을 출력합니다.

마무리

이번 글에서는 파이썬 함수의 정의와 호출, 매개변수 활용법에 대해 알아보았습니다.

함수를 잘 활용하면 코드의 가독성과 효율성이 높아집니다.

다양한 함수 작성 연습을 통해 자신만의 함수 활용 능력을 길러보세요!