lambda 함수

개발자를 위한 Python 중급

Jasmin Ludolf

Senior Data Science Content Developer

간단한 함수

def average(values):
    average_value = sum(values) / len(values)
    return average_value
개발자를 위한 Python 중급

lambda 함수

  • lambda 키워드
    • 익명 함수를 나타냄
lambda
개발자를 위한 Python 중급

lambda 함수

  • lambda 키워드
    • 익명 함수를 나타냄
lambda arguments
개발자를 위한 Python 중급

lambda 함수

  • lambda 키워드
    • 익명 함수를 나타냄
lambda arguments:
개발자를 위한 Python 중급

lambda 함수

  • lambda 키워드
    • 익명 함수를 나타냄

$$

lambda arguments: expression
  • 보통 단일 인수에는 x 사용
  • expression은 함수 본문에 해당
  • return 문은 필요하지 않음

$$

  • 변수로 저장 가능
개발자를 위한 Python 중급

lambda 함수 만들기

# Lambda average function
print(lambda x: sum(x) / len(x))



<function <lambda> at 0x7f11ab813d80>
# Custom average function
def average(x):
    return sum(x) / len(x)  

print(average)
<function average at 0x7f11ab813ec0>
개발자를 위한 Python 중급

lambda 함수 사용하기

# Get the average
(lambda x: sum(x) / len(x))
개발자를 위한 Python 중급

lambda 함수 사용하기

# Get the average
(lambda x: sum(x) / len(x))([3, 6, 9])

$$

$$

# Print the average
print((lambda x: sum(x) / len(x))([3, 6, 9]))
6.0
개발자를 위한 Python 중급

lambda 함수 저장 및 호출하기

# Store lambda function as a variable
average = lambda x: sum(x) / len(x)

# Call the average function print(average([3, 6, 9]))
6.0
개발자를 위한 Python 중급

여러 개의 매개변수

# Lambda function with two arguments
power = lambda x, y: x**y


# Raise 2 to the power of 3 print(power(2, 3))
8
개발자를 위한 Python 중급

이터러블을 사용하는 lambda 함수

  • map()은 이터러블의 모든 요소에 함수 적용
names = ["john", "sally", "leah"]

# Apply a lambda function inside map() capitalize = map(lambda x: x.capitalize(), names)
print(capitalize)
<map object at 0x7fb200529c10>
# Convert to a list
print(list(capitalize))
['John', 'Sally', 'Leah']
개발자를 위한 Python 중급

사용자 정의 함수 vs. lambda 함수

시나리오 함수 유형
복잡한 작업 사용자 정의
같은 작업 반복 사용자 정의
한 번 수행 lambda
간단한 작업 lambda
개발자를 위한 Python 중급

연습해 봅시다!

개발자를 위한 Python 중급

Preparing Video For Download...