python

10편 Python 기초 문법: 내장 함수와 람다 함수

파이썬 티쳐 2024. 11. 14. 22:36

1. 내장 함수(Built-in Functions) 소개

1.1 Python의 주요 내장 함수

  • len(): 객체의 길이(요소 개수)를 반환합니다.
fruits = ["apple", "banana", "cherry"]
print(len(fruits))  # 출력: 3
  • max(): 가장 큰 값을 반환합니다.
numbers = [10, 20, 5, 7]
print(max(numbers))  # 출력: 20
  • min(): 가장 작은 값을 반환합니다.
print(min(numbers))  # 출력: 5
  • sum(): 리스트나 튜플 같은 반복 가능한 객체의 합계를 반환합니다.
print(sum(numbers))  # 출력: 42

1.2 자료형 변환 함수

자료형 변환 함수는 데이터의 형식을 변환할 때 사용됩니다:

print(int("123"))       # 출력: 123
print(float("123.45"))  # 출력: 123.45
print(str(123))         # 출력: "123"

1.3 필터링 함수

filter()map() 함수는 반복 가능한 객체를 처리할 때 유용합니다.

numbers = [1, 2, 3, 4, 5, 6]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers)  # 출력: [2, 4, 6]

squares = list(map(lambda x: x ** 2, numbers))
print(squares)  # 출력: [1, 4, 9, 16, 25, 36]

1.4 고급 내장 함수 활용법

zip()enumerate() 함수의 예제입니다.

names = ["Alice", "Bob", "Charlie"]
scores = [85, 90, 95]

# zip() 함수 예제
for name, score in zip(names, scores):
    print(f"{name}: {score}")
# 출력:
# Alice: 85
# Bob: 90
# Charlie: 95

# enumerate() 함수 예제
for index, name in enumerate(names):
    print(f"{index}: {name}")
# 출력:
# 0: Alice
# 1: Bob
# 2: Charlie

2. 람다 함수(Lambda)

2.1 람다 함수의 개념과 문법

람다 함수는 한 줄로 간결하게 정의할 수 있는 익명 함수입니다.

add = lambda x, y: x + y
print(add(2, 3))  # 출력: 5

2.2 람다 함수를 활용한 간단한 코드 작성법

람다 함수를 사용해 간단한 작업을 수행할 수 있습니다.

add = lambda x, y: x + y
print(add(2, 3))  # 출력: 5

2.3 람다 함수와 filter(), map(), reduce()의 활용

from functools import reduce

# filter() 함수 예제
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers)  # 출력: [2, 4, 6]

# map() 함수 예제
squares = list(map(lambda x: x ** 2, numbers))
print(squares)  # 출력: [1, 4, 9, 16, 25, 36]

# reduce() 함수 예제
total = reduce(lambda x, y: x + y, numbers)
print(total)  # 출력: 21

3. 내장 함수와 람다를 활용한 프로그램

3.1 람다 함수로 간단한 계산기 만들기

람다 함수를 사용해 사칙연산을 수행하는 간단한 계산기를 작성할 수 있습니다.

add = lambda x, y: x + y
subtract = lambda x, y: x - y
multiply = lambda x, y: x * y
divide = lambda x, y: x / y if y != 0 else "0으로 나눌 수 없습니다."

print(f"덧셈: {add(5, 3)}")         # 출력: 덧셈: 8
print(f"뺄셈: {subtract(5, 3)}")    # 출력: 뺄셈: 2
print(f"곱셈: {multiply(5, 3)}")    # 출력: 곱셈: 15
print(f"나눗셈: {divide(5, 0)}")    # 출력: 나눗셈: 0으로 나눌 수 없습니다.

3.2 내장 함수를 활용한 데이터 처리 예제

내장 함수를 사용해 리스트에서 최대값, 최소값, 평균을 계산하는 프로그램을 작성할 수 있습니다.

numbers = [5, 10, 15, 20, 25]

# 최대값, 최소값, 합계, 평균 계산
max_value = max(numbers)
min_value = min(numbers)
total = sum(numbers)
average = total / len(numbers)

print(f"최대값: {max_value}")  # 출력: 최대값: 25
print(f"최소값: {min_value}")  # 출력: 최소값: 5
print(f"합계: {total}")        # 출력: 합계: 75
print(f"평균: {average}")      # 출력: 평균: 15.0