首页 > 解决方案 > Python:以pythonic方式将多个参数从函数传递给函数

问题描述

假设我有以下功能:

def func(a, b=0, c=1, d=2,...):
# Code goes here

我想在这样的另一个函数中使用它:

def do_sth(...):
   func(...)

do_sth(...)

的参数数量func很大。func调用时我应该怎么做才能将(可选)参数传递给do_sth,因为以下方法可用但不是pythonic:

def do_sth(a, b, c...):
   func(a=a, b=b,c=c...)

do_sth(a, b, c...)

标签: python

解决方案


传递这样的字典(在字典**之前使用params):

params = {
   'a': 1,
   'b': 2,
   'c': 3,
   'd': 4
}
func(**params)

要传递列表,请使用*

params = [1,2,3,4]
func(*params)

推荐阅读