首页 > 解决方案 > python函数可选参数并跳过或不跳过它们

问题描述

如果未提供可选参数,我想要一个能够计算某些东西的函数。

我的想法是这样的:

def Compute(data,**arg):
        #
        if PAR are not provide then
        PAR=gumbel_r.fit(data)
        endif
        #

        QTR = gumbel_r.ppf(data,*PAR)

        return QTR

有人可以帮我吗?

我一直在尝试找到这个选项,但我找不到。

提前谢谢,最好的

标签: pythonfunctionargumentsoptional

解决方案


您正在使用变量命名参数提供,而不是可选参数。但是,您想要的可以通过两种方式实现:

可选参数:

def Sort(data, PAR=None):
    if PAR is None:
        return sorted(data)
    else:
        return sorted(data, reverse=PAR)

可变关键字参数:

def Sort2(data, **PAR):
    if not PAR:
        return sorted(data)
    else:
        return sorted(data, **PAR)

结果:

>>> Sort([1,5,3])
[1, 3, 5]

>>> Sort([1,5,3], True)
[5, 3, 1]

>>> Sort2([1,5,3])
[1, 3, 5]

>>> Sort2([1,5,3], **{'reverse':True})
[5, 3, 1]

推荐阅读