python - 在装饰器中列出元素作为参数(Python)
问题描述
我正在尝试解决此任务:创建一个生成随机数数组的函数,并使用装饰器对数组中的每个元素进行平方。我不知道如何将数组元素作为装饰器中的参数。
import random
def square_them(function):
def case(*args, **kwargs):
numbers = function(*args, **kwargs)
return numbers ** 2
return case
@square_them
def array_creator():
randomlist = []
for i in range(1, 10):
numbers = random.randint(1, 100)
randomlist.append(numbers)
print(randomlist)
array_creator()
我收到一个错误:
第 7 行,以防返回数字 ** 2 TypeError: unsupported operand type(s) for ** or pow(): 'NoneType' and 'int'
请问有什么想法吗?谢谢你。
解决方案
import random
print([i*2 for i in random.sample(range(10), 5)])
推荐阅读
- python - 在存储桶 S3 上读取特定类型的文件
- python - OpenCV 从背景中提取具有额外对比度的形状
- c# - 向 IWebElement 添加事件处理程序或侦听器?
- laravel - 我希望项目属于它们相关的类别
- c# - 启动后执行异步代码,一旦 API 用于请求
- arrays - 在 C 中返回任意长度的 char 数组?
- javascript - 在 d3.js 地图中显示悬停值的问题
- go - 如何获取 Go Delve 调试器(dlv)“显示”命令以显示切片或映射的所有值
- c++ - 是否可以使用其基类构造函数创建派生类的指针而不修改派生类的布局?
- python - 在 numpy 库中苦苦挣扎 where()