Home > Article > Backend Development > How to use the functools module for functional programming in Python 3.x
Python’s own functools
module 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 the functools
module and provide code examples.
partial
Functionpartial
The 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
In the above code, the partial
function fixes the first parameter of the multiply
function to 2 or 3 and returns a new functiondouble
and triple
. When the double
function is called, multiply(2, 4)
is actually called, and the result 8 is returned.
reduce
Functionreduce
The function is used to perform cumulative calculations on the elements in a sequence and return a single result. This function needs to be imported via from 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
In the above code, the reduce
function applies the add
function to the elements in the sequence numbers
, from left to The right is accumulated and summed in sequence, and the final result of 15 is returned.
map
Functionmap
The 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]
In the above code, the map
function applies the square
function to each element in the sequence numbers
and Returns a new sequence squared_numbers
.
filter
Functionfilter
The 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]
In the above code, the filter
function applies the is_even
function to each element in the sequence numbers
and Returns a new sequence even_numbers
, containing only elements that satisfy the condition.
By using the functions provided by the functools
module, we can implement the ideas of functional programming using more concise and readable code. The partial
, reduce
, map
and filter
introduced above are the more commonly used functions in the functools
module. 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!