python - 我可以只在 Python 包装函数中传递关键字参数的关键字名称吗?
问题描述
我对问题进行了深入研究,但似乎无法使其正常工作。
基本上我想将一个可选关键字传递给“wrapperfunc”,以便从它调用的“load_data”函数中获取相关数据。我希望 wrapperfunc 的参数来指定对数据执行的方法。
我确定这是以正确方式解包参数的情况吗?
import numpy as np
def load_data(remove_smallest = None, remove_largest = None):
data = np.arange(0,100,1)
if remove_smallest != None:
data = data[remove_smallest::]
elif remove_largest != None:
data = data[0:(100-remove_largest)]
else:
data = data
return print(data)
def wrapperfunc(**args):
val = [10, 20, 30]
for v in val:
load_data(args = v)
wrapperfunc(remove_smallest)
wrapperfunc(remove_largest)
解决方案
**kwargs
只是 dicts str: object
,因此您可以让包装器获取一个键 name,从中创建一个 dict ,并使用它来调用包装函数:
def wrapperfunc(key):
val = [10, 20, 30]
for v in val:
load_data(**{key: v})
wrapperfunc('remove_smallest')
wrapperfunc('remove_largest')
推荐阅读
- php - 遇到PHP错误,我自己无法调试
- php - 在 Symfony 5 中使用带有标记的 Redis
- php - Twitter api获取推文ID的引用推文?
- c# - 我如何在 Firebase 上部署 Angular 项目
- next.js - 单击链接时防止在 Nextjs 中重新渲染 _app.js
- css - 图像在 Safari 中垂直拉伸,高度为 100%
- sql-server - 根据从每组中第一条记录的时间戳开始的时间间隔对记录进行分组
- c++ - 在 C++ 测试项目中使用 Assert() 来解决“测试项目”错误?
- file - 如何使用 Ansible 更新不可变文件
- javascript - 使用 UTF 字符的动态 CSV 生成文件下载