함수형 프로그래밍 또는 함수형 프로그래밍은 프로그래밍 패러다임입니다.
컴퓨터 작업을 수학 함수 작업으로 취급하고 프로그램 상태 및 변수 개체의 사용을 피합니다.
위 내용은 단순한 함수형 프로그래밍 개념이므로 간단히 이해하면 됩니다.
Python에서 함수형 프로그래밍은 주로 Lambda(), map(), Reduce(), filter() 등 여러 함수의 사용으로 구성됩니다.
lambda 함수는 다시 익명 함수가 됩니다. 람다 함수에는 표현식이 하나만 있을 수 있으며 함수 값을 반환하기 위해 return을 작성할 필요가 없습니다. 물론 익명 함수도 함수 객체이고, 익명 함수를 변수에 할당할 수도 있습니다.
익명 함수를 반환값으로 반환할 수도 있습니다
변수 f는 람다 함수형이고 함수를 호출하려면 f()를 사용해야 함을 알 수 있습니다.
map 함수는 두 개의 매개변수를 받습니다. 하나는 함수이고 다른 하나는 Interable(반복 가능한 시퀀스)입니다. map 함수는 시퀀스의 각 요소에 함수를 차례로 적용하고 결과를 반환합니다. 새로운 인터블.
예를 보세요:
리스트 a의 각 요소에 2를 추가하는 간단한 목록 분석은 map 함수를 사용하여 다음과 같이 작성할 수 있습니다.
map 함수가 게으른 시퀀스를 반환하므로, list()와 같은 함수를 통해 호출해야 합니다.
위 코드는 for 루프를 직접 작성하는 것보다 복잡해 보이지만 데이터의 양이 많을 경우 Python의 for 효율성은 그다지 높지 않은 반면 map의 효율성은 C 언어에 가깝습니다. 동시에 코드도 훨씬 간단하며 X 아티팩트와 같습니다.
또 다른 작은 예는 목록의 요소를 문자열, 명령으로 변환합니다
map과 다소 유사하지만 map은 하나씩 반복하는 데 사용됩니다. 축소 함수가 사용됩니다. 재귀적으로 계산됩니다.
간단한 시퀀스 합산
목록 a의 각 요소를 순서대로 합산하고 직접 만든 int() 함수의 예를 살펴보겠습니다.
이것은 Python 내장 함수 int의 사용법입니다
us 다음은 감소 및 맵 함수를 통해서도 달성할 수 있습니다
먼저 맵 함수를 사용하여 문자열 목록 23465를 순회한 다음, 감소 함수를 통해 목록의 각 요소를 람다 함수에 재귀적으로 적용합니다.
또한 함수와 시퀀스를 받습니다. filter()는 전달된 함수를 각 요소에 차례로 적용한 다음 반환 값이 True인지 False인지에 따라 요소를 유지할지 아니면 삭제할지 결정합니다. .
이러한 함수를 사용하면 코드가 더욱 간결해질 뿐만 아니라, 데이터 양이 많거나 계산량이 많을 때 효율성이 크게 향상됩니다.
위 내용은 모두가 알아야 할 Python 함수형 프로그래밍의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!