Conditional/dependent 函数参数 - Python
Conditional/dependent function arguments - Python
我是 Python 的新手,我写了一个有 5 个参数的函数:
def function(a,b,c,d=False,e=" "):
参数 d 可以是真也可以是假。如果为 false,则 e 的默认值将为白色 space,我们在调用它时不需要将其传递给函数,如果为 true,则我们可以将参数传递给 e,或者保留它空白。
function(a,b,c,False) #Example 1: d==False
function(a,b,c,True,'*') #Example 2: d==True, then pass value to e to override default
然而,我的问题在于以下示例:
function(a,b,c,True) #Example 3: d==True but no value passed to e
如果 d 为真并且没有值传递给参数 e,我想将 e 的默认值更改为其他值。我只想在 d==True 和 e 未通过的情况下执行此操作。基本上,我希望参数 e 的默认行为取决于 d:
的布尔值
def function(a,b,c,d=False,e=" " if d==False, '*' if d=True)
基本上,我需要参数 e 的两个默认状态,具体取决于参数 d 是真还是假。
这可能吗?
为e
使用None
值,如果未通过则进行调整
def function(a,b,c,d=False,e=None):
if e is None:
e="*" if d else ' '
pass
我是 Python 的新手,我写了一个有 5 个参数的函数:
def function(a,b,c,d=False,e=" "):
参数 d 可以是真也可以是假。如果为 false,则 e 的默认值将为白色 space,我们在调用它时不需要将其传递给函数,如果为 true,则我们可以将参数传递给 e,或者保留它空白。
function(a,b,c,False) #Example 1: d==False
function(a,b,c,True,'*') #Example 2: d==True, then pass value to e to override default
然而,我的问题在于以下示例:
function(a,b,c,True) #Example 3: d==True but no value passed to e
如果 d 为真并且没有值传递给参数 e,我想将 e 的默认值更改为其他值。我只想在 d==True 和 e 未通过的情况下执行此操作。基本上,我希望参数 e 的默认行为取决于 d:
的布尔值def function(a,b,c,d=False,e=" " if d==False, '*' if d=True)
基本上,我需要参数 e 的两个默认状态,具体取决于参数 d 是真还是假。
这可能吗?
为e
使用None
值,如果未通过则进行调整
def function(a,b,c,d=False,e=None):
if e is None:
e="*" if d else ' '
pass