调用函数时是否可以跳过一些被调用的值

时间:2018-10-17 21:10:52

标签: python python-3.x python-2.7

def get_plot(z1,z2,c1,c2,col,a1,a2,b1,b2,title):
    ax[z1][z2] = plt.subplot2grid((3,3),(c1,c2),colspan =col)
    ax[z1][z2].plot(a1, b1, linewidth=2, color= ([0.37,0.23,0.37]), marker = 'o')

我有多个图,其中没有a2和b2的值。 有人可以告诉我如何跳过适当的参数并进行plot调用吗?

1 个答案:

答案 0 :(得分:2)

这会解决您的问题吗?

def get_plot(z1,z2,c1,c2,col,
             a1=None, a2=None,
             b1=None, b2=None, title=""):

    ax[z1][z2] = plt.subplot2grid((3,3),(c1,c2),colspan =col)
    ax[z1][z2].plot(a1, b1, linewidth=2, color= ([0.37,0.23,0.37]), marker = 'o')
    if a2 is not None and b2 is not None:
        ax[z1][z2].plot(a2, b2, linewidth=2, color = ([0.44,0.64,0.69]), marker = 'o')

您现有的电话将正常工作。但是,当您缺少a2和b2值时,您将需要这样的函数来调用该函数:

get_plot(z1, z2, c1, c2, col, a1=local_a1, b1=local_b1, title=plot_title)

一旦获得一个省略的参数,就必须为其余所有名称提供名称。 在此示例中,您不需要a1=,但是为了便于阅读,我将其保留在此处。