给定一些变量
flag = True
x = "hello"
y = "world"
我想打印以下字符串:
如果为flag is True
,则为"hello world"
;如果为flag is False
,则为"hello 'world'"
。这可以使用以下语句来完成:
print("{} {}".format(x, y if flag else "'{}'".format(y)))
问题是,这样的条件格式可以直接使用pyformat指定吗?也就是说,可以根据某个变量指定不同的格式字符串吗?
一种解决方案可能是执行两种格式:
'{{}} {}'.format("{}" if flag else "'{}'").format(x, y)
但这使得它很难阅读,因为您必须转义第一个字符串中未替换的格式。
转载请注明出处:http://www.yhsswkj.com/article/20230526/1560000.html