Function 如何编写将不同关键字参数传递给不同函数的函数

Function 如何编写将不同关键字参数传递给不同函数的函数,function,python-3.x,keyword-argument,Function,Python 3.x,Keyword Argument,我想写一个函数,将不同的关键字参数传递给不同的函数 例如,我想编写一个函数,首先通过gca创建轴,然后通过hist添加柱状图,从而绘制数据的柱状图。我希望用户能够向gca和hist传递额外的关键字参数 像这样的东西(定义行中的语法错误)是我要寻找的 import matplotlib.pyplot as plt def plot_hist(data, **kwargs_hist, **kwargs_gca): ax = plt.gca(**kwargs_gca)

我想写一个函数,将不同的关键字参数传递给不同的函数

例如,我想编写一个函数,首先通过
gca
创建轴,然后通过
hist
添加柱状图,从而绘制数据的柱状图。我希望用户能够向
gca
hist
传递额外的关键字参数

像这样的东西(定义行中的语法错误)是我要寻找的

import matplotlib.pyplot as plt 

def plot_hist(data, **kwargs_hist, **kwargs_gca):
    ax = plt.gca(**kwargs_gca)       
    fig = ax.hist(data, **kwargs_hist)[0]
    return fig

如果不知道要将哪些关键字参数委托给每个函数,
**keywords
在这种情况下不起作用,您可以将每个函数的关键字的两个字典作为参数:

def plot_hist(data, kwargs_hist={}, kwargs_gca={}):
    ax = plt.gca(**kwargs_gca)       
    fig = ax.hist(data, **kwargs_hist)[0]
    return fig
然后制作单独的字典,通过将关键字语法传递给
dict
构造函数,仍然可以使用关键字语法:

plot_hist(DATA, dict(hist_arg=3, foo=6), dict(gca_arg=1, bar = 4))

python如何知道传递给每个函数的关键字?特别是考虑到
inspect.signature(plt.gca)->
是什么定义了关键字参数的位置?@tadhg这正是我试图解决的问题。我能完成这样的任务吗?@zondo我希望用户决定将哪些可选参数传递给
hist
,哪些传递给
gca
,您可以让用户传递两个字典而不是关键字,然后您可以像
plot\u hist(数据,dict(var1=1,var2=2),dict(var3=3,var4=4))
只需删除定义行中的
**