我意识到这可能是一个有点奇怪的请求,但是我希望有一个方法接受python3中任意数量的元组,每个元组都有默认参数。在
我之所以要这样做,是因为我正在为我们的团队编写脚本功能,并希望用户可以调用的方法易于理解。例如,如果用户要调用二维打印方法,我希望方法参数如下所示:
plot2D(('sweepvar1', start1, stop1, npts1=None, step1=None),
('sweepvar2', start2, stop2, npts2=None, step2=None))
所以用户会这样叫
^{pr2}$从本质上说,困难就要来了,因为我不知道apriori用户是否想为测量指定一个点或一个步长,但是我们需要包括这两个选项。理想情况下,我希望避免强制用户同时指定这两个参数,或者创建一个新变量,作为在npts
和{
我对default parameters
、*args
、和{
提前感谢您的帮助!在
这似乎很难按原样实现,但是您可以创建一个helper函数来包装参数,并为每个元组创建一个位置关键字参数元组。调用
mkarg
(make argument)此测试返回:
^{pr2}$现在繁琐的工作是在
plot2D
中处理这些参数,但至少用户有一个清晰的界面。在备选方案:
如果你真的想要元组,你可以检查元组参数的
len
,如果不够长,可以用None
来完成。如果第二个“可选”值比第一个少用,那就好了。适用于少量的“可选”值。在相关问题 更多 >
编程相关推荐