是否可以在 Python 3.6 中将 f 字符串与 locale.format 优雅地混合

Rom*_*gan 6 python string formatting python-3.6

Python 3.6(又名 PEP 498)引入了我喜欢的格式化字符串。在某些情况下,我们必须输出用户难以阅读的大量数字。我使用了区域设置分组,如下例所示。我想知道是否有更好的方法来格式化格式化字符串内的大量数字?

import locale
locale.setlocale(locale.LC_ALL, 'en_US')
count = 80984932412380
s = f'Total count is:{locale.format("%d", count, grouping = True)}'
>>> s
'Total count is:80,984,932,412,380'
Run Code Online (Sandbox Code Playgroud)

非常感谢您的帮助!

mod*_*itt 0

这是一个偏好问题。代码确实和更常用的字符串格式方法没有什么区别。这也可以让我更具可读性。

import locale
locale.setlocale(locale.LC_ALL, 'en_US')
count = 80984932412380
s = 'Total count is: {}'.format(locale.format("%d",count))
Run Code Online (Sandbox Code Playgroud)