Python中的条件字符串格式化
使用三元运算符来实现条件字符串格式化,例如 result = f'{my_str.upper() if condition else my_str.lower()}'
。 如果满足条件,三元运算符将返回左边的值,否则返回右边的值。
my_str = 'alice'
# ✅ conditional string formatting (f-string)
result = f'Name: {my_str.upper() if len(my_str) > 1 else my_str.capitalize()}'
print(result) # 👉️ Name: ALICE
# -----------------------------------------------
# ✅ conditional string formatting (str.format())
result = 'Name: {}'.format(my_str.upper() if len(
my_str) > 1 else my_str.capitalize())
print(result) # 👉️ Name: ALICE
# -----------------------------------------------
# ✅ conditional string formatting (if/elif/else)
result = f'Name: {"James Doe" if not my_str else my_str.upper() if len(my_str) > 1 else my_str.capitalize()}'
print(result) # 👉️ Name: ALICE
如果必须,请确保在单引号和双引号之间交替。 如果使用相同类型的嵌套引号,则会过早终止字符串。
这些示例在格式化字符串时使用三元运算符来检查条件。
第一个示例使用格式化的字符串文字。
my_str = 'alice'
result = f'Name: {my_str.upper() if len(my_str) > 1 else my_str.capitalize()}'
print(result) # 👉️ Name: ALICE
格式化字符串文字(f-strings)让我们通过在字符串前面加上 f 来在字符串中包含表达式。
表达式必须用大括号括起来 - {表达式}。
三元运算符与内联 if/else
语句非常相似。
该示例检查字符串的长度是否大于 1,如果是,则三元运算符调用字符串的
upper()
方法并返回结果。
如果不满足条件,则运行 else 语句。
这是一个使用三元运算符检查条件的非常简单的示例。
my_bool = True
result = 'Alice' if my_bool else 'Bob'
print(result) # 👉️ 'Alice'
如果满足条件,则返回左边的值,否则返回右边的值。
如果我们需要在 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
第一组花括号用于计算变量。
花括号的内部集合使用三元运算符来检查条件。
我们还可以使用 str.format()
方法有条件地格式化字符串。
my_str = 'alice'
result = 'Name: {}'.format(my_str.upper() if len(
my_str) > 1 else my_str.capitalize())
print(result) # 👉️ Name: ALICE
我们在调用 str.format()
方法时使用了三元运算符,而不是在 f
字符串中内联使用它。
str.format
方法执行字符串格式化操作。
调用该方法的字符串可以包含使用花括号 {}
指定的替换字段。
确保为
format()
方法提供与字符串中的替换字段一样多的参数。
上面的示例使用三元运算符来模拟内联 if/else
语句。
如果我们有更复杂的条件并需要 if/elif/else
语句,请使用嵌套三元。
my_str = 'alice'
result = f'Name: {"James Doe" if not my_str else my_str.upper() if len(my_str) > 1 else my_str.capitalize()}'
print(result) # 👉️ Name: ALICE
第一个三元运算符检查 my_str
变量是否不存储真值。
如果字符串为空,则条件返回字符串“James Doe”,否则运行 else 语句。
else 语句使用另一个三元运算符。
嵌套三元运算符检查字符串的长度是否大于 1,如果是则将其转换为大写。
相关文章
在 MySQL 中格式化数字
发布时间:2023/05/09 浏览次数:81 分类:MySQL
-
在本篇文章中,我们将学习如何在 MySQL 中格式化数字。在 MySQL 中使用 FORMAT() 函数转换数字格式
在 C 语言中打印格式化文本
发布时间:2023/05/07 浏览次数:73 分类:C语言
-
本文演示了如何在 C 语言中打印格式化的文本。使用带有%s 指定符的 printf 函数打印字符串 printf 函数是标准输入/输出库中使用最多的部分之一。
在 C 中创建格式化字符串
发布时间:2023/05/06 浏览次数:68 分类:C语言
-
这是一篇关于在 C 编程语言中格式化字符串的紧凑文章。本文讨论如何使用 C 语言格式化字符串,就像我们在 printf() 函数中所做的那样。
Python for 循环中的下一项
发布时间:2023/04/26 浏览次数:179 分类:Python
-
本文讨论了 Python 中的 for 循环以及如何通过使用 for 循环和示例来跳过列表的第一个元素。
Python While 循环用户输入
发布时间:2023/04/26 浏览次数:148 分类:Python
-
我们可以在 while 循环中使用 input() 函数来输入数据,直到在 Python 中满足某个条件。
在 Python 中将整数转换为罗马数字
发布时间:2023/04/26 浏览次数:87 分类:Python
-
本篇文章将介绍在 Python 中将整数转换为罗马数字。以下是一个 Python 程序的实现,它将给定的整数转换为其等效的罗马数字。
在 Python 中将罗马数字转换为整数
发布时间:2023/04/26 浏览次数:144 分类:Python
-
本文讨论如何在 Python 中将罗马数字转换为整数。 我们将使用 Python if 语句来执行此操作。 我们还将探讨在 Python 中将罗马数字更改为整数的更多方法。
在 Python 中读取 gzip 文件
发布时间:2023/04/26 浏览次数:70 分类:Python
-
本篇文章强调了压缩文件的重要性,并演示了如何在 Python 中使用 gzip 进行压缩和解压缩。