gpt4 book ai didi

python - '%.*g' % (6,k) 在 python 中如何工作

转载 作者:行者123 更新时间:2023-12-01 01:56:16 26 4
gpt4 key购买 nike

我有以下代码:(Python 2.7)

k = 4535.65463456
out = '%.*g' % (6,k)
print str(out)

输出:4535.65

我无法理解 '%.*g' % (6,k) 的工作原理。由于我不熟悉这种语法,也不知道这叫什么,我什至无法用谷歌搜索它。有人可以帮我解决这个问题吗?

提前致谢。

最佳答案

使用借用 C 的语法"%6g",您可以告诉 python 显示最多六位数字的 float (如果数字不太大)。

这意味着如果数字的整数部分有4位,它将使用剩余的2位来打印最高有效的小数部分。

现在,如果我们想让它可参数化,我们必须生成格式字符串,这不是很方便,因此 Python 在此类字符串中引入了参数化精度

'%.*g' % (6,k)

打印 k 最多 6 位数字。

现在,您将更好地使用 format 进行"new"格式化,它允许“嵌套”格式化生成外部格式(因此无需复杂的 .* 语法):

'{:.{prec}g}'.format(k, prec=6)    # courtesy of Dan comment

这里 prec 甚至不是一个特殊的关键字,只是作为函数关键字传递的参数名称。这就像:

'{:6g}'.format(k)

有一个专门介绍 python 新旧样式格式的完整网站:https://pyformat.info/

(还有 Python 3.6 格式字符串的更新语法... https://www.python.org/dev/peps/pep-0498/ )

关于python - '%.*g' % (6,k) 在 python 中如何工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50153699/

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