python - 如何将可变长度参数传递给另一个函数的参数?
问题描述
如何将可变长度参数传递给另一个函数的参数?
def fun(a,b,c):
#calculating
pass
from inspect import signature
def example(*args):
if len(args) >= len(signature(fun).parameters):
fun(args); # how do i do this without modifying fun function
return
print("error")
解决方案
更改fun(args)
为fun(*args[:3])
。这只需要前 3 个元素args
并解包它们。
编辑:正如kindall在他的回答中所写,您还应该参数化numargs
。
推荐阅读
- unreal-engine4 - 如何使用 Unreal 设置 Oculus Mixed Reality Capture
- java - 使用java筛选
- python - 如何使用 ijson 从 json 文件中提取一组相应的数据?
- c# - '未找到配置文件'appsettings.json',不是可选的。物理路径是“C:\Windows\SysWOW64\appsettings.json”。
- shell - jq:匹配两个语句时如何获取值而不是布尔值?
- ios - 由于以下消息,Pod 规范 lint 失败
- pandas - 在 spark 和 pandas 之间传递时间戳时出现不一致的行为
- javascript - 使用 setdelay 运行两次的函数
- android - android 库 sharedPreferences
- python - 如何在 Avidmeux tinypy 脚本中设置输入格式列表