IT/Python

[파이썬] 함수

초코-모찌 2024. 3. 12. 20:37
728x90
파이썬의 함수는 재사용 가능한 코드의 블록(모듈화)으로, 특정 작업을 수행하는 코드를 그룹화합니다. 함수를 사용하면 코드의 중복을 줄이고, 프로그램의 가독성을 높이며, 유지 보수를 용이하게 할 수 있습니다.

 

1. 함수의 기본 구조

파이썬에서 함수는 'def' 를 사용하여 정의합니다. 함수의 몸체는 들여쓰기를 사용하여 구분합니다.

함수는 이름, 매개변수(parameter), 반환 값(return value) 등을 가질 수 있습니다.

  • 함수명: 함수를 호출할 때 사용할 이름입니다.
  • 매개변수: 함수에 전달되는 입력 값입니다. 필요하지 않은 경우 생략할 수 있습니다.
  • 반환값: 함수의 실행 결과를 호출자에게 돌려주는 값입니다. return 키워드를 사용하여 지정합니다. 반환할 값이 없으면 return을 생략하거나 return None을 사용할 수 있습니다.
def 함수명(매개변수):
    # 실행할 코드
    return 반환값
def greet(name):
    return f"Hello, {name}!"

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

 

2. 매개변수와 인자

  • 매개변수(parameter): 함수 정의에서 함수로 전달되는 값을 받는 변수
  • 인자(argument): 함수를 호출할 때 함수에 전달하는 실제 값

위치 매개변수와 키워드 매개변수

def introduce(name, age):
    return f"My name is {name} and I am {age} years old."

# 위치 인자 사용
print(introduce("Bob", 30))

# 키워드 인자 사용
print(introduce(name="Charlie", age=25))

 

기본값을 가진 매개변수

함수 매개변수에는 기본값을 지정할 수 있으며, 호출 시 해당 매개변수를 생략하면 기본값이 사용됩니다.

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

print(greet("Alice"))  # greeting 매개변수 생략
print(greet("Alice", "Good morning"))  # greeting 매개변수 지정

 

3. 가변 매개변수

함수에 가변 개수의 인자를 전달할 수 있습니다. *args는 임의 개수의 위치 인자를 받을 때 사용하고, **kwargs는 키워드 인자를 딕셔너리 형태로 받을 때 사용합니다.

def function_with_many_arguments(*args, **kwargs):
    print(args)  # 위치 인자들의 튜플
    print(kwargs)  # 키워드 인자들의 딕셔너리

function_with_many_arguments(1, 2, 3, name="Alice", age=25)

 

4. 익명 함수(람다 함수)

lambda 키워드를 사용하여 이름 없는 함수를 정의할 수 있습니다. 람다 함수는 간단한 함수를 한 줄로 표현할 때 유용합니다.

multiply = lambda x, y: x * y
print(multiply(2, 3))  # 출력: 6
728x90
반응형