본문 바로가기
실버를 위한 코딩/파이썬

[파이썬] 파이썬의 함수

by forSilver 2024. 4. 16.
반응형

파이썬의 함수

파이썬에서 함수는 재사용 가능한 코드의 블록입니다. 함수를 사용하면 복잡한 작업을 캡슐화하고, 코드 중복을 줄이며, 프로그램의 가독성과 유지 관리를 향상할 수 있습니다. 함수는 특정 작업을 수행하는 코드를 그룹화하고, 이를 이름으로 호출하여 그 작업을 필요할 때마다 실행할 수 있게 합니다.

함수 정의

함수를 정의하기 위해 def 키워드를 사용하고, 이어서 함수명과 괄호 안에 매개변수를 정의합니다. 매개변수는 함수로 전달되는 입력 값입니다. 함수 본문은 들여쓰기를 사용하여 정의하며, return 문을 사용하여 함수의 결과를 반환할 수 있습니다.

def greet(name):
    """주어진 이름으로 인사말을 반환합니다."""
    return f"Hello, {name}!"

함수 호출

함수를 호출하려면 함수 이름과 함께 괄호 안에 필요한 인수를 전달합니다.

message = greet("Alice")
print(message)  # 출력: Hello, Alice!

매개변수와 인수

  • 매개변수(parameter): 함수 정의에서 사용되며, 함수 호출 시 전달되는 인수의 이름입니다.
  • 인수(argument): 함수를 호출할 때 실제로 전달되는 값입니다.

반환값

함수는 return 문을 통해 값을 반환할 수 있습니다. return 문이 없거나 return만 존재하는 함수는 None을 반환합니다.

def add(a, b):
    """두 수의 합을 반환합니다."""
    return a + b

result = add(2, 3)
print(result)  # 출력: 5

기본값 매개변수

함수 매개변수에는 기본값을 지정할 수 있습니다. 이렇게 하면 해당 인수를 생략할 때 기본값이 사용됩니다.

def greet(name, message="Hello"):
    return f"{message}, {name}!"

print(greet("Alice"))            # 출력: Hello, Alice!
print(greet("Alice", "Goodbye")) # 출력: Goodbye, Alice!

키워드 인수

함수를 호출할 때 인수 이름을 명시적으로 지정할 수 있습니다. 이를 키워드 인수라고 합니다.

def describe_pet(animal_type, pet_name):
    """애완동물의 정보를 출력합니다."""
    print(f"I have a {animal_type} named {pet_name}.")

describe_pet(animal_type="hamster", pet_name="Harry")

가변 매개변수

함수는 가변 수의 인수를 받을 수 있습니다. 이 때 *args**kwargs를 사용합니다.

  • *args: 임의의 수의 위치 인수를 튜플로 받습니다.
  • **kwargs: 임의의 수의 키워드 인수를 딕셔너리로 받습니다.
def make_pizza(*toppings):
    """주어진 토핑으로 피자를 만듭니다."""
    print("Making a pizza with the following toppings:")
    for topping in toppings:
        print(f"- {topping}")

make_pizza('pepperoni')
make_pizza('mushrooms', 'green peppers', 'extra cheese')

 

가변 매개변수 사용의 경우

정리

함수는 코드를 모듈화하고 재사용성을 높이는 핵심적인 방법 중 하나입니다. 함수를 사용하면 프로그램의 각 부분이 분명한 목적을 가지며, 오류 발생 시 디버깅이 더 용이해집니다.