python函数可选参数,是否跳过它们

问题描述 投票:0回答:4

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

我的想法是这样的:

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

        QTR = gumbel_r.ppf(data,*PAR)

        return QTR

有人可以帮我吗?

我一直在尝试找到此选项,但无法。

谢谢,最佳

python function arguments optional
4个回答
0
投票

您可以使用相应的代码创建两个函数,一个具有param,另一个不具有param。


0
投票

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

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

将导致:

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

0
投票

计算默认参数

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

0
投票

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

可选参数:

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]
© www.soinside.com 2019 - 2024. All rights reserved.