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]
如果没有提供可选参数,我想要一个能够计算某些东西的函数。
我的想法是这样的:
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]