우와한 개발자

[Python] 람다식(lambda)과 타입 힌트(Type Hint) - 익명 함수와 자료형 명시

by 우와한개발자

1. 람다식 (Lambda)

  • 이름 없는 익명 함수
  • 함수 실행 문장이 한 줄일 경우만 사용 가능
  • 일회성으로 간단하게 쓸 때 많이 사용됨
lambda 매개변수 : 반환값
# 일반 함수
def add(a, b):
    return a + b

# 람다식으로 표현
add = lambda a, b: a + b
print(add(3, 4))  # 7
  • 자주 사용되는 패턴 - 정렬 key로 활용
students = [("Kim", 90), ("Lee", 85), ("Park", 95)]

# 점수 기준으로 정렬
sorted_students = sorted(students, key=lambda x: x[1])
print(sorted_students)  # [('Lee', 85), ('Kim', 90), ('Park', 95)]

 

2. 타입 힌트 (Type Hint)

  • 매개변수와 반환값에 어떤 자료형이 와야 하는지 명시하는 것
  • 문법적으로 강제하지 않아 타입 힌트를 어겨도 에러가 발생하지 않음
  • 따라서 실제 타입 검사가 필요하면 조건문으로 직접 에러를 발생시켜야 함
  • FastAPI 등 일부 프레임워크는 타입 힌트를 실제로 강제함

1) 매개변수 타입 힌트

def calc(a: int, b: int = 2):
    return a * b

2) 반환 타입 힌트

def calc(a: int, b: int = 2) -> int:  # -> 반환타입
    return a * b

3) 타입 검사가 필요한 경우

def calc(a: int, b: int = 2) -> int:
    if not isinstance(a, int) or not isinstance(b, int):
        raise TypeError("정수만 입력 가능합니다.")
    return a * b

calc(3, 4)      # ✅ 12
calc("3", 4)    # ❌ TypeError: 정수만 입력 가능합니다.
구분 문법 예시
매개변수 타입 변수명: 타입 a: int
기본값 포함 변수명: 타입 = 기본값 b: int = 2
반환 타입 -> 타입 -> int
반환값 없음 -> None -> None

 

블로그의 정보

우와한개발자 님의 블로그

우와한개발자

활동하기