You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

《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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 10:55:16