带有格式说明符的 f 字符串中的 Python 条件语句

标签 python formatting f-string

在此代码片段中:

b = False
print(f'{a if b else ""}')

我想使用 a 的格式说明符,例如a:.2f。这些都不适用于 Python 3.10:

print(f'{a:.2f if b else ""}')
print(f'{(a:.2f) if b else ""}')
print(f'{{a:.2f} if b else ""}')

解决办法是什么?


我想将条件保留在 f 字符串中,因为在多行字符串的不同位置会有一些条件。

最佳答案

如果您使用其中两个,则可以将条件保留在 f-string 中,第二个用于 a:.2f

print(f'{f"{a:.2f}" if b else ""}')

关于带有格式说明符的 f 字符串中的 Python 条件语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72195492/

相关文章:

Java 文本格式化

c++ - 如何从 C/C++ 程序中找到终端列的数量?

python - 设置路径名中数字的格式

python - Pylint 不喜欢 string.format() 并且希望我使用 f-strings。这可以修复吗?

Python 在 IONQ QPU 上调用 q# 文件会导致有关 System.Text.Json、Version=5.0.0.0 文件未找到的错误

python - Django 将 MySQL 查询转换为 Django 查询

c# - 如何将 bool 值一般格式化为是/否字符串?

python - yaxis.set_major_formatter 中的 f 字符串

python - 图片上传字段在 django admin 中有效,但在模板中无效

python - sklearn朴素贝叶斯多项式NB : Why do I get only one array with coefficients although I have 2 classes?