Jua*_*nti 159 python boolean string-formatting
我看到我做不到:
"%b %b" % (True, False)
Run Code Online (Sandbox Code Playgroud)
在Python中.我猜%b对了b(oolean).有这样的事吗?
dan*_*ben 230
>>> print "%r, %r" % (True, False)
True, False
Run Code Online (Sandbox Code Playgroud)
这不是特定于布尔值 - 在参数上%r调用__repr__方法. %s(因为str)也应该工作.
Des*_*egr 61
如果你想True False使用:
"%s %s" % (True, False)
Run Code Online (Sandbox Code Playgroud)
因为str(True)是'True'和str(False)是'False'.
或者如果你想1 0使用:
"%i %i" % (True, False)
Run Code Online (Sandbox Code Playgroud)
因为int(True)是1和int(False)是0.
Wol*_*olf 17
您也可以使用Formatter类的字符串
print "{0} {1}".format(True, False);
print "{0:} {1:}".format(True, False);
print "{0:d} {1:d}".format(True, False);
print "{0:f} {1:f}".format(True, False);
print "{0:e} {1:e}".format(True, False);
Run Code Online (Sandbox Code Playgroud)
这些是结果
True False
True False
1 0
1.000000 0.000000
1.000000e+00 0.000000e+00
Run Code Online (Sandbox Code Playgroud)
某些%-format类型说明符(%r,%i)不可用.有关详细信息,请参阅格式规范迷你语言
要为 Python-3 更新这个,你可以这样做
"{} {}".format(True, False)
Run Code Online (Sandbox Code Playgroud)
但是,如果您想实际格式化字符串(例如添加空格),您会遇到 Python 将布尔值转换为底层 C 值(即 int),例如
>>> "{:<8} {}".format(True, False)
'1 False'
Run Code Online (Sandbox Code Playgroud)
为了解决这个问题,您可以将True其转换为字符串,例如
>>> "{:<8} {}".format(str(True), False)
'True False'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
141832 次 |
| 最近记录: |