簡體   English   中英

在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)

我想根據請求參數傳遞自定義間隔,例如分鍾/秒/等,所以我嘗試了

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)

使用此方法的優點是您可以動態設置字典中的鍵,因此可以動態設置傳遞給函數的關鍵字參數

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM