Python 格式字符串中的 %s 意味着什么?

字符串是Python中非常常用的数据类型。Python 处理字符串非常重要。Python 有很多与字符串数据类型相关的功能。在本文中,我们将深入研究 Python 字符串并了解什么是格式字符串、格式字符串中的占位符以及格式字符串中的 %s 是什么。

Python 中的字符串格式

格式字符串非常重要,因为它可以帮助我们创建动态输出。通常,当您尝试使用 Python 中提供的内置打印函数打印某些内容时,您将必须进行大量类型转换,因为打印函数一次仅采用一种类型的变量。也就是说,如果您在同一行中打印字符串和整数,则必须将整数转换为字符串,或者我们可以使用逗号将其分隔。

这个过程有时会非常乏味。因此,为了这个目的,Python给我们提供了格式字符串。格式化字符串有很多优点。它为我们提供了灵活性和可读性,并使调试过程变得更加容易。

句法

f'The string to be printed'

相关 Python 中的格式化字符串

您还可以使用format() 函数(快速格式化)来格式化字符串。

如果您是编程新手或刚开始使用 Python 本身进行编程,那么很难理解这些复杂的代码编写方式。让我们尝试通过一些例子来理解这一点。

借助示例理解格式化字符串

格式化字符串

f'This is a format string'
Python 中格式化字符串的代码和输出

上面的代码是格式化字符串的最简单的示例。您只需编写 f,放入引号,然后在引号之间写入要打印的文本即可。

在格式字符串中使用变量

1
2
string = "format string"
f'This is a tutorial for {string}'
在格式字符串中使用变量的代码和输出

在上面的代码中,我们使用格式字符串打印变量字符串。无论您想将变量放置在格式字符串中的何处,只需放置大括号并在其中写入变量的名称即可。因此,我们在字符串变量中存储了一个字符串“格式字符串”,然后当我们编写格式字符串时,我们将大括号放在我们希望变量位于字符串中的位置,并将变量“字符串”的名称写入大括号。因此,当解释器遍历该行时,它会将整个大括号的部分替换为变量的值。

您还可以将多个变量放入单个格式化字符串中。

1
2
3
4
Name = 'Rohan'
Age = 19
Place = 'Mumbai'
f'Hello, My name is {Name}. I am {Age} years old and I live in {Place}.'
单一格式字符串中的多个变量

在此示例中,就像前面的示例一样,我们使用花括号将 Name、Age 和 Place 变量放置在格式字符串中。

%s 是什么?

%s 是字符串数据类型的占位符。占位符是从 C 语言中继承的概念。它们在格式字符串中使用来表示其类型将在运行时确定的变量。占位符表示为在 % 符号之后使用的一个字符或一组字符。% 表示占位符,后面的字符或字符集表示将替换占位符的值的数据类型。对于整数,有 %d,对于浮点数,有 %f,对于字符串,有 %s。

如何在格式化字符串中使用占位符?

age = 25
message = f"My name is %s." %'Rohan' # format string with single placeholder value.
message = f"My name is %s and I am %d years old." %('Rohan',age) # format string with multiple placeholder value.
print(message)
格式字符串的代码和输出

在上面的代码中,我们有两个格式字符串中的占位符示例。我们必须像往常一样用单个引号编写格式字符串,无论我们想要在哪里放置动态值,我们只需在其中放置一个占位符即可。完成格式字符串后,我们将写入百分比符号,然后写入动态值。因此,在第一个示例中,我们像编写普通格式字符串一样编写“我的名字是”。之后,我们放一个%s,它代表一个字符串占位符。之后,我们通过结束单个引号来完成格式字符串。之后,我们使用模数符号并写下我们的值。

每当解释器在格式字符串中看到占位符时,它就会搜索模数符号和格式字符串。然后它用模数符号后面的值替换占位符。因此,正如模数符号后面写的“Rohan”,占位符在输出中被替换为 Rohan。

在第二个示例中,我们在同一行中使用了整数和字符串占位符,并且没有传递整数占位符的值,而是传递了包含所需值的变量名称。我们可以对任何类型的变量执行此操作。首先,我使用 %s 占位符表示姓名,然后使用age %d 表示年龄。完成格式字符串后,我们放置一个模数,然后在括号中,我们传递了想要按顺序替换占位符的值。记住一定要按顺序写,否则会出错。

可能导致错误的情况

在某些情况下,格式字符串可能会令人困惑。这可能会导致错误。为了避免它们,请记住一些基本事项:

  • 您不能传递整数占位符或浮点占位符的字符串值。
  • 对于单一格式字符串中的多个占位符,请使用方括号 () 在 % 符号后面写入占位符的值。
  • 对格式字符串中间的变量使用 {}(大括号),而不是 ()(括号)或 [](方括号)。
  • %s 用于字符串占位符,%d 用于整数,%f 用于浮点值。

结论

格式化字符串是一个非常强大的工具,事实证明它比普通字符串要好得多。但由于语法看起来很复杂,新程序员就跳过它。只要继续练习,一旦掌握了它,就会对你有很大帮助。

参考

堆栈溢出

Python 官方文档