在字符串连接期间,仅在设置了变量的情况下如何添加定界符?

rod*_*dee 3 python

仅在该变量具有值的情况下如何添加定界符,在下面的代码中,我试图避免使用2个下划线,例如:foo_bar__baz,始终设置a,b,d,仅c是可选的,还有没有更Python的方法?

>>> a_must='foo'
>>> b_must='bar'
>>> c_optional=''
>>> d_must='baz'
>>>
>>> f'{a_must}_{b_must}_{c_optional}_{d_must}' if c_optional else 
f'{a_must}_{b_must}_{d_must}'
'foo_bar_baz'
Run Code Online (Sandbox Code Playgroud)

它在python3.6中

Aja*_*234 6

您可以在内部编写条件f-string

f'{a_must}_{b_must}_{c_optional+"_" if c_optional else ""}{d_must}'
Run Code Online (Sandbox Code Playgroud)

输出:

'foo_bar_baz'
Run Code Online (Sandbox Code Playgroud)