在 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
变量存储真值,则数字被格式化为小数点后两位,否则返回空字符串。