在 python 函数参数中使用表达式作为关键字
Use an expression as keyword in python function arguments
我必须像这样在 python 中调用一个函数
job = scheduler.add_job(job_func, 'interval', minutes=10, id=req_json['job_id'], replace_existing=True)
我想根据请求参数传递自定义间隔,例如 minutes/seconds/etc,所以我尝试了这个
job = scheduler.add_job(job_func, 'interval', interval_[1]=float(interval_[0]), id=req_json['job_id'], replace_existing=True, args=[req_json])
其中 interval_ = "10 seconds".split(' ')
我该怎么做?
字典解包**kwargs
可用于将关键字参数传递给函数
kwargs = {interval_[1]: float(interval_[0])}
job = scheduler.add_job(job_func, 'interval', id=req_json['job_id'], replace_existing=True, args=[req_json], **kwargs)
例如
kwargs = {'a': 1, 'b': 2}
foo(**kwargs)
相当于
foo(a=1, b=2)
使用这种方法的优点是您可以在字典中动态设置键,因此可以动态设置传递给函数的关键字参数
我必须像这样在 python 中调用一个函数
job = scheduler.add_job(job_func, 'interval', minutes=10, id=req_json['job_id'], replace_existing=True)
我想根据请求参数传递自定义间隔,例如 minutes/seconds/etc,所以我尝试了这个
job = scheduler.add_job(job_func, 'interval', interval_[1]=float(interval_[0]), id=req_json['job_id'], replace_existing=True, args=[req_json])
其中 interval_ = "10 seconds".split(' ')
我该怎么做?
字典解包**kwargs
可用于将关键字参数传递给函数
kwargs = {interval_[1]: float(interval_[0])}
job = scheduler.add_job(job_func, 'interval', id=req_json['job_id'], replace_existing=True, args=[req_json], **kwargs)
例如
kwargs = {'a': 1, 'b': 2}
foo(**kwargs)
相当于
foo(a=1, b=2)
使用这种方法的优点是您可以在字典中动态设置键,因此可以动态设置传递给函数的关键字参数