python 函数可选参数并跳过或不跳过它们

python function optional arguments and skip or not them

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

我的想法是这样的:

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

        QTR = gumbel_r.ppf(data,*PAR)

        return QTR

有人可以帮助我吗?

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

提前致谢, 最佳

您可以创建两个函数,一个带参数,另一个不带参数,分别使用代码。

您可以为参数设置默认值:

    def say(word="A default value"):
        print(word)

将导致:

    word() #A default value
    word("hi") #hi

正在计算默认参数

def Compute(data, arg = None):
  if not arg:
     # Computes value for optional argument since values not provided
     arg = gumbel_r.fit(data)
        if PAR are not provide then


  return gumbel_r.ppf(data, arg)

用法

result = Compute(data)      # will compute a value for arg
result = Compute(data, 15)  # will use 15 as value for arg

您使用的是变量命名参数规定,而不是可选参数。然而,你想要的可以通过两种方式实现:

可选参数:

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]