Python

Python 콜백 함수(Callback Function)과 람다 함수(Lambda Function)

dustKim 2024. 3. 18. 22:55
콜백 함수(Callback Function)

- 콜백 함수는 다른 함수에 인자로 전달되어, 어떤 이벤트나 특정 조건에서 실행되게 하는 함수이다. 즉, 직접 호출하는 것이 아닌 다른 함수에 의해 호출되는 함수를 말한다. 콜백 함수는 주로 비동기 작업이나 특정 이벤트 발생 시점에 어떤 동작을 수행할 때 사용된다.

callback 함수 활용

callback 함수 내에 for문을 사용하여 5번 반복하게 만들었고, "print_hello" 함수에 "안녕하세요, 파이썬!"을 출력하게 만들었다. 그리고 callback 함수를 호출하면서 인자로 " print_hello" 함수를 넘겨주면서 "안녕하세요, 파이썬!" 이 5번 반환되게 된다.

callback 함수 활용

이번에는 callback 함수 인자에 num 이라는 변수를 받게 만들었다. callback 함수를 호출하고 몇 번을 반복할지 인자값을 보내줘야 한다.


람다 함수(Lambda Function)

- 람다 함수는 파이썬에서 익명의 간단한 함수를 생성하기 위한 구문이다. 함수에 고유한 이름이 지정되지 않고, 람다 함수는 일반적인 함수와는 달리 한 줄로 짧고 간결하게 함수를 생성할 때 유용하다.

lambda 함수 형식
lambda 함수 활용

위에 사용자 정의 함수를 밑에 람다 함수처럼 간결하게 표현할 수 있다. 람다 함수는 항상 return형이라 굳이 return을 쓰지 않는다. 

lambda 함수 활용

Lambda가 유용하게 사용되는 대표적인 함수
  • filter()

-filter() 함수는 파이썬 내장 함수로 주어진 조건에 만족하는 항목으로 이루어진 값을 반환한다. 이 함수는 주로 리스트나 순차적인 데이터 타입에서 특정 조건을 만족하는 항목을 필터링하는데 유용하다.

filter() 함수 형식
filter() 함수 활용

이미지를 보면 filter() 함수를 사용하는데 인자 첫 번째는 조건 함수, 두 번째는 리스트를 받았다. 그러면 리스트를 순회하면서 조건의 맞는 것들만 필터링하게 된다.

lambda 함수 활용

lambda 함수를 활용하면 위 처럼 간결하게 표현이 가능하다. 조건 함수를 따로 만들지 않고 람다 표현식에 조건을 써넣으면 간결하게 표현된다.

  • map()

- map() 함수는 파이썬 내장 함수로 주어진 함수 조건을 모든 항목에 적용하여 결과를 반환한다. 이 함수는 주로 리스트나 튜플, 순차적인 데이터 타입의 모든 항목에 각각 함수를 적용할 때 사용한다.

- 여기서 filter() 함수는 만족하는 조건만 반환하지만, map() 함수는 모든 자료의 수식을 걸어서 모든 값을 반환한다.

map() 함수 형식
map() 함수 활용

numbers 요소 하나하나에 모두 조건을 적용시켜 모든 값을 반환 하는 것을 볼 수 있다.

'Python' 카테고리의 다른 글

Python 상속  (0) 2024.03.20
Python 객체지향, Class  (0) 2024.03.20
Python 변수의 범위  (0) 2024.03.18
Python 사용자 정의 함수  (0) 2024.03.18
Python Collection과 반복문  (0) 2024.03.18