简体   繁体   English

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

[英]How to pass dynamic amount of optional parameters to Python function

I have a function that is being used with 2 optional parameters offset and limit : 我有一个正在与2个可选参数offsetlimit一起使用的函数:

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

Is there a way I can pass it a list of dynamic parameters? 有什么方法可以向我传递动态参数列表吗? Something like this: 像这样:

db.engine.execute(sql, param_obj)

You can build the optional parameters as a dict and pass it to the function 您可以将可选参数构建为dict并将其传递给函数

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

Or if you really want to pass the optional paraemters as list, you can, but care should be taken to ensure the order of parameters being passed 或者,如果您确实希望将可选参数作为列表传递,则可以,但是应注意确保传递参数的顺序

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM