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