在Python中如何将一个单数字转换为双数字字符串?
假设我有下面的代码:
a = 5
我想把它打印成一个字符串 '05'
11 个回答
23
>>> print '{0}'.format('5'.zfill(2))
05
想了解更多内容,可以点击这里。
28
a = 5
print '%02d' % a
# output: 05
在编程中,'%'这个符号叫做字符串格式化运算符,当它放在一个字符串的左边时就这样称呼。比如说,'%d'
是一个格式代码,用来打印整数。如果你用它来打印非数字的东西,就会出现类型错误。还有,'%2d'
可以让你指定输出的长度,而'%02d'
则是把默认的空格替换成0,用来填充。
174
在Python 3.6中,推出了一种叫做f字符串的机制,也就是“格式化字符串字面量”。
f"{a:02}"
它和下面的 .format 格式是一样的,但写起来更简洁一些。
在3.6之前的Python 3版本中,使用的格式化方式相对比较啰嗦:
"{0:0=2d}".format(a)
这里你可以走捷径,上面的写法可能是最啰嗦的版本。完整的文档可以在这里找到:http://docs.python.org/3/library/string.html#string-formatting
print "%02d"%a
是Python 2中的写法。
关于Python 2的相关文档链接是:http://docs.python.org/2/library/string.html#format-specification-mini-language