《Learning Python》第5版字符串格式化表述矛盾是否为勘误?
关于《Learning Python 5th edition》字符串格式化表述矛盾的解答
这确实是书中的一处勘误,第156页的表述是正确的。
- Python中所有字符串格式化方式(包括
%格式化表达式、str.format()方法、f-string)的最终返回结果都是字符串,而非数字。它们的核心逻辑是将数字、布尔值、对象等各种类型的数据转换为字符串形式输出。 - 第152页的表述存在错误,它混淆了“格式化的输入数据可能包含数字”和“格式化的输出类型”两个概念。你提到的示例结果
'100, 40, ff, FF'本身就是字符串,这也直接证明了该页表述的矛盾之处。
可以通过简单代码验证这一点:
# %格式化表达式示例 fmt_result1 = "%d, %x, %X" % (100, 40, 40) print(type(fmt_result1)) # 输出:<class 'str'> # str.format()方法示例 fmt_result2 = "{}, {}, {}".format(100, 40, "ff") print(type(fmt_result2)) # 输出:<class 'str'> # f-string示例 num = 100 fmt_result3 = f"{num}" print(type(fmt_result3)) # 输出:<class 'str'>
内容的提问来源于stack exchange,提问作者user19946454
相关产品推荐
相关产品推荐

