如何将动态数量的可选参数传递给Python函数

时间:2018-07-09 10:45:23

标签: python flask-sqlalchemy

我有一个函数正在与2个可选参数 offset limit 一起使用:

query = db.engine.execute(sql, offset=pagination.offset, limit=pagination.limit)

是否可以通过它传递动态参数列表?像这样:

db.engine.execute(sql, param_obj)

1 个答案:

答案 0 :(得分:2)

您可以将可选参数构建为dict并将其传递给函数

param_obj = dict(offset=pagination.offset, limit=pagination.limit)
db.engine.execute(sql, **param_obj)

或者如果您确实希望将可选参数作为列表传递,可以,但是要注意确保传递参数的顺序

param_obj = [pagination.offset, pagination.limit]
db.engine.execute(sql, *param_obj)