파이썬

[Python] 함수 정의와 사용법

JJONY 2025. 3. 28. 06:15
반응형

Python에서 코드를 효율적으로 작성하기 위해서는 함수(Function)를 사용하는 것이 필수적입니다. 함수는 특정 작업을 수행하는 코드 블록으로, 중복을 줄이고 코드의 가독성을 높여줍니다. 이번 포스팅에서는 Python에서 함수 정의와 사용법을 초보자도 쉽게 이해할 수 있도록 단계별로 설명하겠습니다.

 


1. 함수 정의하기

1) 기본적인 함수 정의 방법

함수는 def 키워드를 사용하여 정의합니다.

# 함수 정의
def say_hello():
    print('Hello, World!')

# 함수 호출
say_hello()  # 출력: Hello, World!

2) 매개변수 있는 함수 정의하기

매개변수(Parameters)는 함수가 호출될 때 값을 전달받아 사용합니다.

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

greet('Alice')  # 출력: Hello, Alice!

3) 반환값이 있는 함수

return 키워드를 사용하여 값을 반환할 수 있습니다.

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

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

2. 함수의 다양한 기능

1) 기본값 매개변수 (Default Parameters)

매개변수에 기본값을 설정할 수 있습니다.

def greet(name='User'):
    print(f'Hello, {name}!')

greet()         # 출력: Hello, User!
greet('Bob')    # 출력: Hello, Bob!

2) 키워드 인수 (Keyword Arguments)

인수 이름을 지정하여 값을 전달합니다.

def describe_pet(animal_type, pet_name):
    print(f'{pet_name} is a {animal_type}.')

describe_pet(animal_type='dog', pet_name='Buddy')

3) 가변 인수 (*args, **kwargs)

  • *args: 여러 개의 위치 인수를 전달할 때 사용합니다.
  • **kwargs: 여러 개의 키워드 인수를 전달할 때 사용합니다.
def print_numbers(*args):
    for num in args:
        print(num)

print_numbers(1, 2, 3, 4)  # 출력: 1 2 3 4


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

print_info(name='Alice', age=30)

3. 함수 사용 시 주의 사항

  1. 함수 이름은 알기 쉽게 지어야 하며, 소문자와 밑줄로 구성하는 것이 좋습니다.
  2. 함수 내부의 변수는 지역 변수로 처리되며, 함수 외부에서 접근할 수 없습니다.
  3. 너무 많은 매개변수를 사용하지 않도록 하며, 필요한 경우 *args 또는 **kwargs를 활용합니다.

4. 추가 팁 및 참고 사항

  • help() 함수나 docstring을 사용하여 함수의 설명을 추가할 수 있습니다.
def add(a, b):
    """
    두 숫자의 합을 반환합니다.
    매개변수:
      a (int): 첫 번째 숫자
      b (int): 두 번째 숫자
    반환값:
      int: 두 숫자의 합
    """
    return a + b

help(add)
  • 함수는 모듈로 분리하여 작성하면 재사용성이 높아집니다.

5. 요약 및 마무리

이번 포스팅에서는 Python의 함수 정의와 사용법을 알아보았습니다. 함수는 코드의 효율성을 높이고 중복을 줄이는 중요한 도구입니다. 함수의 매개변수, 반환값, 기본값 설정, 가변 인수 등을 잘 활용하여 깔끔하고 효율적인 코드를 작성해 보세요.


6. 관련 글 링크

  • 관련 글: Python에서 JSON 데이터를 읽고 쓰는 방법 (json 모듈 사용법)
반응형