在 Python 中使用 f-string 进行条件格式化

在 Python 中使用 f-string 进行条件格式化

Using f-string for conditional formatting in Python

使用三元运算符将 f 字符串用于条件格式,例如
result = f'{my_str.upper() if condition else my_str.lower()}'. 三元运算符如果条件满足则返回左边的值,否则返回右边的值。

主程序
my_str = 'hello' # ✅ f-string formatting with a condition result = f'Result: {my_str.upper() if len(my_str) > 1 else my_str.capitalize()}' print(result) # 👉️ Result: HELLO # ------------------------------------------ # ✅ Conditionally using format specification mini-language in f-strings my_num = 4.56789 result = f'The number is: {my_num:{".2f" if my_num > 1 else ""}}' print(result) # 👉️ The number is: 4.57 # ------------------------------------------ my_bool = True result = f'{my_num:{".2f" if my_bool else ""}}' print(result) # 👉️ 4.57
如果必须,请确保在单引号和双引号之间交替。如果您使用相同类型的嵌套引号,您会过早地终止字符串。

这些示例使用三元运算符来检查 f 字符串中的条件。

格式化字符串文字 (f-strings) 让我们通过在字符串前加上f.

主程序
my_str = 'is subscribed:' my_bool = True result = f'{my_str} {my_bool}' print(result) # 👉️ is subscribed: True

确保将表达式括在大括号 –{expression}中。

if/else三元运算符与内联语句非常相似。

主程序
my_str = 'hello' result = f'Result: {my_str.upper() if len(my_str) > 1 else my_str.capitalize()}' print(result) # 👉️ Result: HELLO

该示例检查字符串的长度是否大于1,如果是,则三元运算符调用upper()字符串上的方法并返回结果。

如果不满足条件,则else语句运行。

这是一个使用三元运算符检查条件的非常简单的示例。

主程序
my_bool = True result = 'hello' if my_bool else 'bye' print(result) # 👉️ 'hello'

如果满足条件,则返回左边的值,否则返回右边的值。

如果需要在 f 字符串中使用格式特定的迷你语言,则必须使用两组大括号。

主程序
my_num = 4.56789 result = f'The number is: {my_num:{".2f" if my_num > 1 else ""}}' print(result) # 👉️ The number is: 4.57

这是没有条件的 f 字符串的样子。

主程序
my_float = 4.56789 my_str_1 = f'{my_float:.2f}' print(my_str_1) # 👉️ 4.57

第一组花括号用于评估变量。

内部的花括号组使用三元运算符来检查条件。

需要注意的一件非常重要的事情是,我们使用单引号来包裹 f 字符串,并使用双引号来包裹字符串。

如果您使用相同类型的嵌套引号,您将因过早终止 f 字符串而收到错误。

以下示例检查my_bool变量是否在 f 字符串中存储真值。

主程序
my_num = 4.56789 my_bool = True result = f'{my_num:{".2f" if my_bool else ""}}' print(result) # 👉️ 4.57

如果my_bool变量存储真值,则数字被格式化为小数点后两位,否则返回空字符串。