>백엔드 개발 >파이썬 튜토리얼 >모두가 알아야 할 Python 함수형 프로그래밍

모두가 알아야 할 Python 함수형 프로그래밍

WBOY
WBOY앞으로
2023-04-11 22:43:121542검색

함수형 프로그래밍 또는 함수형 프로그래밍은 프로그래밍 패러다임입니다.

컴퓨터 작업을 수학 함수 작업으로 취급하고 프로그램 상태 및 변수 개체의 사용을 피합니다.

위 내용은 단순한 함수형 프로그래밍 개념이므로 간단히 이해하면 됩니다.

Python에서 함수형 프로그래밍은 주로 Lambda()​, map()​, Reduce()​, filter() 등 여러 함수의 사용으로 구성됩니다.

1.lambda 함수

lambda 함수는 다시 익명 함수가 됩니다. 람다 함수에는 표현식이 하나만 있을 수 있으며 함수 값을 반환하기 위해 return을 작성할 필요가 없습니다. 물론 익명 함수도 함수 객체이고, 익명 함수를 변수에 할당할 수도 있습니다.

모두가 알아야 할 Python 함수형 프로그래밍

익명 함수를 반환값으로 반환할 수도 있습니다

모두가 알아야 할 Python 함수형 프로그래밍

변수 f는 람다 함수형이고 함수를 호출하려면 f()를 사용해야 함을 알 수 있습니다.

2.map 함수

map 함수는 두 개의 매개변수를 받습니다. 하나는 함수이고 다른 하나는 Interable(반복 가능한 시퀀스)입니다. map 함수는 시퀀스의 각 요소에 함수를 차례로 적용하고 결과를 반환합니다. 새로운 인터블.

예를 보세요:

모두가 알아야 할 Python 함수형 프로그래밍

리스트 a의 각 요소에 2를 추가하는 간단한 목록 분석은 map 함수를 사용하여 다음과 같이 작성할 수 있습니다.

모두가 알아야 할 Python 함수형 프로그래밍

map 함수가 게으른 시퀀스를 반환하므로, list()와 같은 함수를 통해 호출해야 합니다.

위 코드는 for 루프를 직접 작성하는 것보다 복잡해 보이지만 데이터의 양이 많을 경우 Python의 for 효율성은 그다지 높지 않은 반면 map의 효율성은 C 언어에 가깝습니다. 동시에 코드도 훨씬 간단하며 X 아티팩트와 같습니다.

또 다른 작은 예는 목록의 요소를 문자열, 명령으로 변환합니다

모두가 알아야 할 Python 함수형 프로그래밍

3. 축소 기능

map과 다소 유사하지만 map은 하나씩 반복하는 데 사용됩니다. 축소 함수가 사용됩니다. 재귀적으로 계산됩니다.

간단한 시퀀스 합산

모두가 알아야 할 Python 함수형 프로그래밍

목록 a의 각 요소를 순서대로 합산하고 직접 만든 int() 함수의 예를 살펴보겠습니다.

이것은 Python 내장 함수 int의 사용법입니다

모두가 알아야 할 Python 함수형 프로그래밍

us 다음은 감소 및 맵 함수를 통해서도 달성할 수 있습니다

모두가 알아야 할 Python 함수형 프로그래밍

먼저 맵 함수를 사용하여 문자열 목록 23465를 순회한 다음, 감소 함수를 통해 목록의 각 요소를 람다 함수에 재귀적으로 적용합니다.

4. 필터 함수

또한 함수와 시퀀스를 받습니다. filter()는 전달된 함수를 각 요소에 차례로 적용한 다음 반환 값이 True인지 False인지에 따라 요소를 유지할지 아니면 삭제할지 결정합니다. .

모두가 알아야 할 Python 함수형 프로그래밍

요약

이러한 함수를 사용하면 코드가 더욱 간결해질 뿐만 아니라, 데이터 양이 많거나 계산량이 많을 때 효율성이 크게 향상됩니다.

위 내용은 모두가 알아야 할 Python 함수형 프로그래밍의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51cto.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제