布尔值转小写字符串
可以用 str.format()
方法打印布尔值,而不把它们变成大写字母吗?
我不能用 str(myVar).lower()
作为格式化的参数,因为当 myVar
不是布尔值时,我想保留字母的大小写。
请不要发带有条件检查的解决方案。
我只想知道能否写出以下内容:
"Bla bla bla {}".format(myVar)
这样当 myVar == True
时输出为 "Bla bla bla true"
,而当 myVar == false
时输出为 "Bla bla bla false"
2 个回答
3
试试一个可以调用的lambda表达式:
>>> f = lambda x: str(x).lower() if isinstance(x, bool) else x
>>> 'foo {} {}'.format(f(True), f('HELLO'))
'foo true HELLO'
19
你可以使用这样的表达式
str(myVar).lower() if type(myVar) is bool else myVar