• 회원가입
  • 로그인
  • 구글아이디로 로그인

[basic] Python - Lambda (람다함수) - 작은 1회용 익명함수

792  

목차

  1. Lambda 함수 정의
  2. Lambda 함수 구문
  3. Lambda 함수 사용 이유

 

Lambda 함수 정의


1. Lambda 함수는 작은 1회용 익명 함수

2. 여러 독립변수 가능하나, 표현식은 오직 1개만 가능.

 

PS. 주의: 알파벳 L 로 시작하며, 중간에 묵음 b 있음. 

 

Lambda 함수 구문


lambda arg1, arg2, ... : expression

 


[코드 설명]

 

arg1, arg2, ....

매개변수. (※ 여러 개 가능.)

주의: 독립변수를 소괄호로 안 감쌈.

 

expression

전달받은 독립변수 이용한 표현식.

주의: 값 반환에 return 사용 안 함.

 


[반환값]

 

독립변수 받아 표현식 실행 후 결과 반환.

 


[예제]

 

# 독립변수 1개인 경우.

x = lambda a: a + 4

print(x(3)) # 7


# 독립변수 2개인 경우.

x = lambda a, b: a * b

print(x(3, 4)) # 12

 

# 독립변수 3개인 경우.

x = lambda a, b, c: a + b + c

print(x(1, 2, 3)) # 6

 

 

Lambda 함수 사용 이유

1. 람다 함수는 일반함수 안에서 익명함수로 사용할 때 유용. ★

 

1.

하나의 매개변수 취하는 일반함수 있고, 

해당 매개변수에 미지의 수가 곱해진다고 가정.

(예)

def hz(n):

  return lambda a : a * n

 

2.

독립변수의 2배 함수

def hz(n):

  return lambda a : a * n

b = hz(2)

print(b(10))  # 20

 

3.

독립변수의 3배 함수

def hz(n):

  return lambda a : a * n

c = hz(3)

print(c(10))

 

4.

독립변수 2배와 3배 함수 동시.

def hz(n):

  return lambda a : a * n

b = hz(2)

c = hz(3)

print(b(10)) # 20

print(c(10)) # 30

 

 


2. 짧은 시간 동안 익명함수 필요 시, 람다 함수 사용. ★

 

(예) a의 b승 구하기

print((lambda a, b: a**b) (2, 4)) # 16

 


3. List에 넣어 사용 가능.

 

방법1.

hz = [lambda x : x*10, lambda x : x*100]

print(hz[0](10)) # 100

print(hz[1](10)) # 1000

 

방법2.

a = lambda x : x*10

b = lambda x : x*100

hz = [a, b]

print(hz[0](10)) # 100

print(hz[1](10)) # 1000

 



분류 제목
basic Python - Home (입문) - 이념 / 추천 링크
basic Python - Intro (소개) - 용도・특징
basic Python - Start (시작) - 파이썬 설치/실행/버전확인
basic Python - Syntax (구문) - 들여쓰기・변수・주석
basic Python - Comment (주석)
basic Python - Variable (변수)
basic Python - DataType (데이터타입) - 자료형
basic Python - Number (숫자)
basic Python - Casting (데이터 타입 변경) - 자료형 변환
basic Python - String (문자열) ★ ※ 색인번호 (= 인덱스) 개념.
basic Python - Boolean (참거짓)
basic Python - Operator (연산자)
basic Python - List (리스트) ★ - 변경 가능한 모음
basic Python - Tuple (투플/튜플) - 변경 불가 모음
basic Python - Set (셋/세트) - '순서(=색인)' 없고, 중복 허용 않는 데이터 모음.
basic Python - Dictionary (딕셔너리) - Key:value 쌍으로 구성된 모음
basic Python - if...elif...else - (이프조건문) ※ 3항연산자 = 삼항연산자
basic Python - While (와일반복문) - 와일문
basic Python - For (포반복문) ★★★★★
basic Python - Function (함수)
1/24
목록
찾아주셔서 감사합니다. Since 2012