在 Python 中使用布尔值格式化字符串

在 Python 中使用布尔值格式化字符串

String formatting with booleans in Python

使用格式化的字符串文字来执行带有布尔值的字符串格式化,例如result = f'Subscribe to newsletter: {checkbox_checked}'.

格式化的字符串文字让我们通过在字符串前加上前缀来在字符串中包含表达式和变量f

主程序
checkbox_checked = True # ✅ string formatting with booleans (f-string) result = f'Subscribe to newsletter: {checkbox_checked}' print(result) # 👉️ Subscribe to newsletter: True # ---------------------------------- # ✅ string formatting with booleans (addition operator) result = 'Subscribe to newsletter: ' + str(checkbox_checked) print(result) # 👉️ Subscribe to newsletter: True # ---------------------------------- # ✅ string formatting with booleans with conditionals result = f'Subscribe to newsletter: {"yes" if checkbox_checked else "no"}' print(result) # 👉️ Subscribe to newsletter: yes

第一个示例使用格式化字符串文字。

主程序
checkbox_checked = True result = f'Subscribe to newsletter: {checkbox_checked}' print(result) # 👉️ Subscribe to newsletter: True

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

主程序
bool1 = True bool2 = False my_str = 'Subscribe to newsletter:' result = f'{my_str} {bool1}/{bool2}' print(result) # Subscribe to newsletter: True/False

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

格式化字符串文字自动负责将布尔值转换为字符串。

请注意,在使用加法 (+) 运算符时,我们必须将布尔值显式转换为字符串。

主程序
checkbox_checked = True result = 'Subscribe to newsletter: ' + str(checkbox_checked) print(result) # 👉️ Subscribe to newsletter: True

加法 (+) 运算符左右两侧的值必须是兼容的类型,因此我们使用str()该类将布尔值转换为字符串。

如果您需要使用布尔值执行条件字符串格式化,请使用带有三元运算符的 f 字符串。

主程序
checkbox_checked = True result = f'Subscribe to newsletter: {"yes" if checkbox_checked else "no"}' print(result) # 👉️ Subscribe to newsletter: yes

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

该示例检查checkbox_checked变量是否存储真值,如果是,yes则返回字符串,否则,else语句返回no

请注意,我们将 f 字符串包裹在单引号中,并使用双引号将字符串包裹在表达式中。

如果我们也在表达式中使用单引号,我们就会过早地终止 f 字符串。

您还可以使用该str.format()方法使用布尔值格式化字符串。

主程序
checkbox_checked = True result = 'Subscribe to newsletter: {}'.format(checkbox_checked) print(result) # 👉️ Subscribe to newsletter: True

str.format方法
执行字符串格式化操作。

主程序
bool1 = True bool2 = False result = 'Receive notifications: {}/{}'.format(bool1, bool2) print(result) # 👉️ Receive notifications: True/False

调用该方法的字符串可以包含使用花括号指定的替换字段{}

确保为该format() 方法提供的参数与字符串中的替换字段一样多。

下面是一个使用str.format()带有条件的方法的示例。

主程序
checkbox_checked = True result = 'Subscribe to newsletter: {}'.format( 'yes' if checkbox_checked else 'no') print(result) # 👉️ Subscribe to newsletter: yes

如果布尔值存储一个True值,我们返回字符串yes,否则no返回字符串。