python 批量生成大量函数
时间: 2023-06-17 18:07:36 浏览: 142
可以使用 Python 中的装饰器来批量生成大量函数。下面是一个示例代码,生成一系列的函数,函数名为 `func_1`、`func_2`、`func_3`,依此类推,函数的功能是将传入的参数平方后返回。
```python
def generate_functions(num):
def decorator(func):
for i in range(1, num+1):
def wrapper(x):
return func(x) ** i
globals()['func_{}'.format(i)] = wrapper
return func
return decorator
@generate_functions(3)
def square(x):
return x * x
print(func_1(2)) # 4
print(func_2(2)) # 16
print(func_3(2)) # 64
```
在上面的代码中,`generate_functions` 函数会接收一个参数 `num`,用于指定要生成的函数数量。装饰器 `decorator` 会在原函数 `square` 上包装一层,循环生成 `num` 个新函数,并将其加入全局命名空间中。每个新函数的名称都是 `func_i`,其中 `i` 为该函数的编号。新函数的功能是将传入的参数平方后进行 i 次方运算。最后,装饰器返回原函数 `square`,使得该函数仍然可以正常使用。