gpt4 book ai didi

python - 为什么我会在 Python 字符串格式中使用 %r 以外的任何东西?

转载 作者:太空狗 更新时间:2023-10-30 00:30:03 24 4
gpt4 key购买 nike

我偶尔会使用 Python 字符串格式。这可以像这样完成:

print('int: %i. Float: %f. String: %s' % (54, 34.434, 'some text'))

但是,也可以这样做:

print('int: %r. Float: %r. String: %r' % (54, 34.434, 'some text'))

以及使用 %s:

print('int: %s. Float: %s. String: %s' % (54, 34.434, 'some text'))

因此我的问题是:为什么我会使用 %r 或 %s 以外的任何东西?其他选项(%i、%f 和 %s)对我来说似乎毫无用处,所以我只是想知道为什么每个人都会使用它们?

[edit] 添加了带有 %s 的例子

最佳答案

对于 float ,reprstr 的值可以变化:

>>> num = .2 + .1
>>> 'Float: %f. Repr: %r Str: %s' % (num, num, num)
'Float: 0.300000. Repr: 0.30000000000000004 Str: 0.3'

对字符串使用 %r 会导致它被引号包围:

>>> 'Repr:%r Str:%s' % ('foo','foo')
"Repr:'foo' Str:foo"

您应该始终对 float 使用 %f,对整数使用 %d

关于python - 为什么我会在 Python 字符串格式中使用 %r 以外的任何东西?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17081815/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com