python中的函数参数

时间:2011-02-19 16:56:09

标签: python matplotlib

我正试图围绕位置和关键字参数在python中工作的方式,而且,似乎,我的失败相当悲惨。

给定具有呼叫签名matplotlib.pyplot.plot(*args,**kwargs)的函数,可以将其称为

import matplotlib.pyplot as plt

x=[1,2,3]
y=[5,6,7]
plt.plot(x,y,'ro-')
plt.show()

现在,我正在尝试将其包装成我可以称为mplot(x,y,'ro-',...)的内容,其中...是原始函数准备接受的任何参数。以下失败,但我无法确定如何解决它:

def mplot(x,y,fmt,*args,**kwargs):
   return plt.plot(x,y,fmt,*args,**kwargs)

mplot(x,y,'ro-')

非常感谢任何关于出路的指示。

1 个答案:

答案 0 :(得分:1)

你需要这样:

def mplot(x,y,fmt,*args,**kwargs):
   #do stuff with x, y and fmt
   return plt.plot(*args,**kwargs)

我假设您的意图是在x例程中使用yfmtmplot,然后将其余参数传递给{{1} }。


我不相信这实际上是你想要的(我可以看到plt.plot希望收到plt.plotxy所以他们不应该消费)。我删除了这个答案,但由于你发布的代码显然有效,我会在一段时间内看到它,看看它是否会引发真正的问题!

相关问题