使用小写的布尔值到字符串

时间:2014-08-18 10:34:50

标签: python string format boolean lowercase

str.format()方法可以打印没有大写字符串的布尔参数吗?

我不能使用str(myVar).lower()作为格式的参数,因为我想在myVar不是布尔值时保留字母的大小写。

请不要通过条件检查变量的值来发布解决方案。

我感兴趣的是写下列内容的可能性:

"Bla bla bla {}".format(myVar)

以便"Bla bla bla true"myVar == True"Bla bla bla false"

myVar == false输出变为{{1}}

2 个答案:

答案 0 :(得分:6)

你可以使用像这样的表达式

str(myVar).lower() if type(myVar) is bool else myVar

答案 1 :(得分:2)

尝试一个可以调用的lambda:

>>> f = lambda x: str(x).lower() if isinstance(x, bool) else  x
>>> 'foo {} {}'.format(f(True), f('HELLO'))
'foo true HELLO'