【发布时间】:2018-09-05 11:28:09
【问题描述】:
在 python 字符串格式中,%s 支持字符串、整数和浮点数
>>> '%s' % 'a'
'a'
>>> '%s' % 1
'1'
>>> '%s' % 1.1
'1.1'
其中 %d 只接受和格式化整数,而 %s 只接受 %f
>>> '%d' % 1
'1'
>>> '%d' % 'a'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: %d format: a number is required, not str
为什么 %s 单独接受所有三个甚至更多
【问题讨论】:
-
%s 代表一个字符串。由于字符串可以是其中任何一个,因此这是可能的。而对于一个 %d 来说,由于一个字符串值总是可以被当作一个整数,所以这是不可能的。
-
作为提示,较新的python使用新的字符串格式
"{} {}".format('hello', 3)
标签: python python-3.x python-2.7