python - 如何使用函数将传递给另一个函数的参数平方?
问题描述
# Use the square_args() function to square the arguments passed to multiply().
def square_args(func):
def inner(a, b):
return func(a * 2, b * 2)
return inner
#WRITE YOUR CODE HERE
def multiply(a, b):
return a * b
multiply(3, 9)
我需要使用这些函数来获得答案 729。
解决方案
这是我的答案:
def square_args(func):
def inner(*args):
args = [arg ** 2 if isinstance(arg, (int, float)) else arg for arg in args]
return func(*args)
return inner
@square_args
def multiply(a, b):
return a * b
print(multiply(3, 9))
你只需要@square_args
在你的函数声明前面加上每个传入的参数都会被平方。
square_args
是一名装饰师。
推荐阅读
- python - 如何从图像创建精灵
- php - Laravel 请求是一个数组,但 count() 无法识别
- amazon-web-services - 如何检查密钥对是否仍在 EC2 中使用?
- c# - VBA(Excel)中是否有类似于 SqlBulkCopy 的东西?
- input - 用于 buefy 输入的慢 v-model,v-model.lazy 也不起作用
- c# - 分组读取 JSON 数据
- jhipster - 如何使用 Ionic 连接到 JHipster 应用程序?
- python - 在 tensorflow 2.0 中获取变量范围
- javascript - 在 .bind 和 .apply 中覆盖 `this`
- php - wordpress 帖子中的分页