Python 可选字符串格式

Python 可选字符串格式,python,string,Python,String,是否可以改进此代码: if isinstance(value, bool) and value: cms = "%s %s" % (cms, usage_map["switches"][switch]) else: cms = "%s %s %s" % (cms, usage_map["switches"][switch], value) 只在一行中使用?使值成为可选值 谢谢 您可以使用: cms = '{} {}{}'.format( cms, usage_map["

是否可以改进此代码:

if isinstance(value, bool) and value:
    cms = "%s %s" % (cms, usage_map["switches"][switch])
else:
    cms = "%s %s %s" % (cms, usage_map["switches"][switch], value)
只在一行中使用?使值成为可选值

谢谢

您可以使用:

cms = '{} {}{}'.format(
    cms, usage_map["switches"][switch],
    '' if isinstance(value, bool) and value else ' {}'.format(value)
)
您可以使用以下选项:

cms = '{} {}{}'.format(
    cms, usage_map["switches"][switch],
    '' if isinstance(value, bool) and value else ' {}'.format(value)
)
你可以写:

cms = "%s %s" % (cms, usage_map["switches"][switch])
if isinstance(value, bool) and value:
    cms += " %s" % value
此外,我认为您可以将条件重写为:
如果值为True:

您可以编写:

cms = "%s %s" % (cms, usage_map["switches"][switch])
if isinstance(value, bool) and value:
    cms += " %s" % value

另外,我认为您可以将条件重写为:
如果值为真:

这个问题可能更适合于这个问题,虽然不止一行,但上面的代码非常清楚(除了需要对
值进行一些类型检查之外)。您可能会找到更短的代码,但我怀疑您是否会找到更好的代码。这个问题可能更适合当前的情况。虽然不止一行,但上面的代码非常清楚(除了需要对
进行一些类型检查之外)。你可能会发现一些较短的东西,但我怀疑你会发现一些更好的东西。对于它的价值,我不确定我会认为这比OP已经有更好的……它的价值,我不确定我会认为这比OP已经有更好的…