How to use the functools module for functional programming in Python 3.x

PHPz
Release: 2023-07-30 16:41:10
Original
832 people have browsed it

Python’s ownfunctoolsmodule provides many tool functions for functional programming. It can make the code more concise and readable, and provides some higher-order functions and basic tools for functional programming. This article will introduce several common functions of thefunctoolsmodule and provide code examples.

  1. partialFunction

partialThe function is used to partially apply a function, that is, fix some parameters of the function and return a new function. The sample code is as follows:

from functools import partial def multiply(x, y): return x * y double = partial(multiply, 2) triple = partial(multiply, 3) print(double(4)) # 输出8 print(triple(4)) # 输出12
Copy after login

In the above code, thepartialfunction fixes the first parameter of themultiplyfunction to 2 or 3 and returns a new functiondoubleandtriple. When thedoublefunction is called,multiply(2, 4)is actually called, and the result 8 is returned.

  1. reduceFunction

reduceThe function is used to perform cumulative calculations on the elements in a sequence and return a single result. This function needs to be imported viafrom functools import reduce. The sample code is as follows:

from functools import reduce def add(x, y): return x + y numbers = [1, 2, 3, 4, 5] result = reduce(add, numbers) print(result) # 输出15
Copy after login

In the above code, thereducefunction applies theaddfunction to the elements in the sequencenumbers, from left to The right is accumulated and summed in sequence, and the final result of 15 is returned.

  1. mapFunction

mapThe function is used to apply a function to each element in a sequence and return a new sequence. The sample code is as follows:

def square(x): return x ** 2 numbers = [1, 2, 3, 4, 5] squared_numbers = list(map(square, numbers)) print(squared_numbers) # 输出[1, 4, 9, 16, 25]
Copy after login

In the above code, themapfunction applies thesquarefunction to each element in the sequencenumbersand Returns a new sequencesquared_numbers.

  1. filterFunction

filterThe function is used to apply a conditional judgment function to each element in a sequence. Returns a new sequence of elements that satisfy the condition. The sample code is as follows:

def is_even(x): return x % 2 == 0 numbers = [1, 2, 3, 4, 5] even_numbers = list(filter(is_even, numbers)) print(even_numbers) # 输出[2, 4]
Copy after login

In the above code, thefilterfunction applies theis_evenfunction to each element in the sequencenumbersand Returns a new sequenceeven_numbers, containing only elements that satisfy the condition.

By using the functions provided by thefunctoolsmodule, we can implement the ideas of functional programming using more concise and readable code. Thepartial,reduce,mapandfilterintroduced above are the more commonly used functions in thefunctoolsmodule. You can Apply in actual projects.

The above is the detailed content of How to use the functools module for functional programming in Python 3.x. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!