迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

Python中的条件字符串格式化

作者:迹忆客 最近更新:2022/10/20 浏览次数:

使用三元运算符来实现条件字符串格式化,例如 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

Python中的条件字符串格式化

如果必须,请确保在单引号和双引号之间交替。 如果使用相同类型的嵌套引号,则会过早终止字符串。

这些示例在格式化字符串时使用三元运算符来检查条件。

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

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,如果是则将其转换为大写。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 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 浏览次数:193 分类:Python

本文介绍了整数规划和可用于解决混合整数规划问题的 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 进行压缩和解压缩。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便