본문 바로가기
파이썬

[Python] 함수 정의와 사용법

by JJONY 2025. 3. 28.
반응형

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 모듈 사용법)
반응형

댓글