hgk0404.tistory
Code After Work
hgk0404.tistory

공지사항

전체 방문자
오늘
어제
  • 전체 카테고리 N
    • [컴퓨터비전]
    • [Computer Science]
      • [컴퓨터네트워크]
      • [알고리즘]
      • [자료구조 in C]
      • [C & C++]
      • [이산수학]
      • [Math]
    • [머신러닝]
      • [Numpy, Pandas]
    • [Cloud]
      • [AWS]
      • [NCP]
      • [Kubernetes]
      • [Terraform]
    • [Dev] N
      • [가상환경] N
      • [Linux]
      • [Docker]
    • [Python]
    • [Coding Test]
      • [백준]
      • [프로그래머스]
      • [SQL]
    • [WEB]
    • [일상]
    • [엑셀]
    • [금융]

인기 글

최근 글

최근 댓글

250x250
hELLO · Designed By 정상우.
hgk0404.tistory

Code After Work

[Python]

[Python] 파이썬 : 람다(lambda) 함수

2022. 8. 19. 01:07
728x90

파이썬에는 함수를 한 줄로 표현해주는 기능이 있습니다.

 

 

람다(lambda)함수라고 불리우는 람다 표현식이 바로 그것입니다. 형식은 다음과 같습니다.

 

 

lambda 매개변수 : 표현식

 

 

1. 람다함수

 

 

1-1. 두 수를 곱해주는 함수)

def multiple(x, y):
    return x * y
print(multiple(4, 5))

 

 

결과)

20

결과로 20이 나왔습니다.

 

 

 

다음은 똑같은 연산을 람다함수를 사용해 보겠습니다.

 

 

'lambda 매개변수 : 식'의 구성으로 이루어진다고 말씀드렸습니다.

 

 

하지만 이 상태로는 함수를 호출할 수 없습니다. 람다 표현식은 이름이 없는 함수를 생성하기 때문에 익명함수(anonymous function)라고도 부릅니다.

 

 

익명함수를 호출하기 위해서는 함수를 담아줄 그릇이 필요한데 그것을 위해 변수를 생성하고 할당하는 작업이 필요합니다.

 

 

1-2. 익명의 함수를 변수라는 그릇에 담은 모습)

func = lambda x, y : x * y

 

 

1-3. 람다 함수를 이용해서 곱셈을 출력)

func = lambda x, y : x * y
print(func(4, 5))

 

 

결과)

20

 

 

1-4. 람다 표현식 자체를 출력하기)

람다 표현식을 변수에 할당하지 않고 표현식 자체를 바로 호출할 수 있습니다. 다음과 같은 형식을 따르면 됩니다.

 

 

(lambda 매개변수 : 식)(인수)

 

 

*lambda표현식을 괄호()로 묶어주고 인수를 넣어주는 부분도 괄호로 묶어서 표현합니다.

 

 

예시)

print((lambda x, y : x * y)(4, 5))

 

 

결과)

20

 

 

1-5. 람다 표현식 안에서는 변수를 생성할 수 없다)

print((lambda x : y = 10; x + y)(1))

 

 

결과)

SyntaxError: invalid syntax

 

 

람다 함수 안에서 x를 정의하고 x의 매개변수로 1을 넣는 방법은 사용할 수 없습니다.

 

 

2. map 함수

 

 

lambda함수와 함께 사용하는 대표적인 함수는 map함수가 있습니다. map함수의 기본 형식은 다음과 같습니다.

 

 

map(함수, 리스트)

 

 

map함수는 함수와 리스트를 인자로 받습니다. 자주 쓰이는 예제를 들어보겠습니다.

 

 

a, b = map(int, input().split()) #1
print(list(map(lambda x: x**2, range(1, 5+1)))) #2

 

 

결과)

[1, 4, 9, 16, 25] #2

 

 

#1 : 파이썬의 입력을 받는 input()함수는 문자열로 입력을 받는데 그것을 int형으로 변환해주는 코드입니다.

#2 : 범위 1~5까지의 정수를 제곱해주고 list로 묶어주는 코드입니다.

 

 

728x90
저작자표시 동일조건 (새창열림)

'[Python]' 카테고리의 다른 글

[Python] 파이썬 예외처리(try~except)  (0) 2022.09.17
[Python] 파이썬 깊은복사(DeepCopy)  (0) 2022.09.15
[Python] 파이썬 진수 변환 hex(), oct(), bin(), int()  (0) 2022.08.07
[Python] 파이썬 remove(), pop(), del 차이점  (0) 2022.07.27
[Python] 파이썬 heap 자료구조, heapq 모듈 사용  (0) 2022.07.25
'[Python]' 카테고리의 다른 글
  • [Python] 파이썬 예외처리(try~except)
  • [Python] 파이썬 깊은복사(DeepCopy)
  • [Python] 파이썬 진수 변환 hex(), oct(), bin(), int()
  • [Python] 파이썬 remove(), pop(), del 차이점
hgk0404.tistory
hgk0404.tistory
공부기록

티스토리툴바