{site_name}

{site_name}

🌜 搜索

Python functools 模块是一个标准库,提供了许多有用的函数,这些函

Python 𝄐 0
python中的functools模块,python functools.wraps,python fnmatch模块,python中fractions模块,python decorator模块,python中functools
Python functools 模块是一个标准库,提供了许多有用的函数,这些函数可以扩展或修改现有的 Python 函数的行为。一些常见的功能包括缓存、逐步应用函数参数、创建可调用对象(callable objects)等。

以下是 functools 模块中一些常用函数及其用法:

1. functools.partial():该函数可以将一个函数的某些参数部分固定下来,返回一个新的函数。新函数使用时只需提供未确定的参数。

Python
from functools import partial

def add(a, b):
return a + b

add_five = partial(add, 5)
print(add_five(3)) # 输出 8


2. functools.reduce():该函数可以对序列中的元素进行累积计算,其第一个参数为累加器,第二个参数为序列。

Python
from functools import reduce

numbers = [1, 2, 3, 4, 5]
total = reduce(lambda x, y: x+y, numbers)
print(total) # 输出15


3. functools.cached_property():该函数可以将一个方法转化为只读属性,并缓存结果。

Python
from functools import cached_property

class MyClass:
def __init__(self):
self._value = 10

@cached_property
def value_times_two(self):
print("Calculating value times two!")
return self._value * 2

obj = MyClass()
print(obj.value_times_two) # 第一次调用会计算并输出 "Calculating value times two!" 和 20
print(obj.value_times_two) # 第二次调用会直接输出 20,不会再次计算


这些函数只是 functools 模块中的一部分,还有其他很多有用的函数,可以根据具体需要去查阅文档。