您的位置:

Python %s——字符串格式

在本教程中,我们将学习如何在 Python 程序中实现和使用%s。我们还将学习%s 在字符串中的用法。

Python 中字符串格式的%s

基本上,在 Python 中,%符号用于具有许多数据类型和配置的各种数据。

说到%s,它在 Python 中专门用于将两个或多个字符串连接在一起。%s 允许我们在给定的字符串中格式化或放置一个字符串或数值。简单来说,Python 中的%s 用于将一个给定的字符串合并到另一个字符串中。该运算符自动提供给定值到字符串数据类型的类型转换。

我们把%运算符放在必须指定字符串的地方。我们想要追加到给定字符串中的值的数量应该等于字符串之间的括号中指定的%s 运算符的数量。

下面的 Python 代码将解释我们使用%s 运算符执行字符串格式化的方式:

示例-


# Define a string value 
str = "JavaTpoint!"
# using %s to appending string
print("Hello Python developers! Welcome to, %s!" % str)

输出:

Hello Python developers! Welcome to, JavaTpoint!

正如我们在上面的代码中看到的,我们已经声明了一个字符串变量,即 str,并将其附加在括号中的给定字符串中。我们使用%s 运算符追加了字符串值。

%s 运算符在 Python 中的使用

在本节中,我们将讨论%s 运算符的突出使用。我们还将通过多种方法学习%s 运算符的实现,以及它对我们的帮助。

我们将讨论以下实现%s 的方法:

  1. 一个字符串中有多个%s
  2. 使用%s 映射字符串
  3. 将列表的%s 用作字符串
  4. 带有%s 的订单字典

1.一个字符串中有多个%s:

我们可以使用%s 运算符将给定的字符串变量追加到字符串中,方法是将它放在我们想要添加值的位置。Python 只需在字符串中使用%s 运算符的地方添加字符串变量。让我们通过一个例子来理解它。

例:看下面的代码:


# Declaring multiple string values
mkr1 = "developers"
mkr2 = "JavaTpoint"
mkr3 = "day"
# Appending multiple string values inside a single string
print("Hello Python %s, Welcome to the %s! We hope you are having a good %s." % (mkr1, mkr2, mkr3))

输出:

Hello Python developers, Welcome to the JavaTpoint! We hope you are having a good day.

解释-

我们在单个字符串中添加了多个字符串变量(mkr1、mkr2、mkr3)并打印了该字符串。我们通过在字符串中多次使用%s 操作符来追加这些变量。

2.使用%s 映射字符串:

我们也可以使用%s 操作符来映射给定程序中的字符串。我们只需多次使用%s 运算符,就可以将多个字符串变量映射到一个字符串中。但是,当我们想要在单个字符串中添加多个字符串变量时,我们必须将字符串中出现%s 的次数与替换它的字符串数相匹配。我们必须在%运算符后加上字符串的数量。

例:1


# Declaring multiple string variables
mkr1 = "Hey"
mkr2 = "Python"
mkr3 = "Developers"
mkr4 = "Welcome"
mkr5 = "to"
mkr6 = "JavaTpoint"
# Mapping multiple string variables into a single string
ResultantStr = "%s %s %s %s %s %s" % (mkr1, mkr2, mkr3, mkr4, mkr5, mkr6)
# Printing result in output
print("Resultant mapped string using '%s' operator: ") 
print(ResultantStr)

输出:

Resultant mapped string using '%s' operator:
Hey Python Developers Welcome to JavaTpoint

注意:但是,如果我们在%运算符之后没有给出与我们使用的%s 运算符相同数量的字符串变量,那么代码将像下面的程序一样通过输出中的 TypeError:

示例- 2


# Declaring multiple string variables
mkr1 = "Hey"
mkr2 = "Python"
mkr3 = "Developers"
mkr4 = "Welcome"
mkr5 = "to"
mkr6 = "JavaTpoint"
# Not giving equal number of variables after % operator
ResultantStr = "%s %s %s %s %s %s" % (mkr1, mkr2, mkr4, mkr5, mkr6)
# Printing result in output
print("Resultant mapped string using '%s' operator: ") 
print(ResultantStr)

输出:

Traceback (most recent call last):
  File "C:\Users\Manish\Downloads\code.py", line 9, in ResultantStr = "%s %s %s %s %s %s" % (mkr1, mkr2, mkr4, mkr5, mkr6)
TypeError: not enough arguments for format string 

3.将列表的%s 用作字符串:

在%s 运算符的帮助下,我们还可以将一个给定的列表数据类型变量与字符串变量映射成一个字符串。我们必须遵循映射字符串变量时遵循的同一组指令。让我们通过一个例子来理解它。

示例:


# Declaring multiple string variables
mkr1 = "Hey"
mkr2 = "Python"
mkr3 = "Developers"
mkr4 = "Welcome"
mkr5 = "to"
mkr6 = "JavaTpoint"
# Declaring a list variable also
AList = ["Java", "Python", "C++", "HTML", "JavaScript"]
# Mapping string variables with list variable into a single string
ResultantStr = "%s %s %s %s %s %s, %s" % (mkr1, mkr2, mkr3, mkr4, mkr5, mkr6, AList)
# Printing result in output
print("Resultant mapped string with list variable in it: ") 
print(ResultantStr)

输出:

Resultant mapped string with list variable in it:
Hey Python Developers Welcome to JavaTpoint, ['Java', 'Python', 'C++', 'HTML', 'JavaScript']

4.带有%s 的订单字典:

我们可以在字典数据类型变量中定义多个字符串变量。然后,我们可以按照我们想要的顺序调用这些字符串变量,只需使用带有字符串变量名的%s 运算符。

示例:


# Declaring a dict variable with multiple string variable in it
ADict = {'mkr1': 'at',
               'mkr2': 'JavaTpoint', 
               'mkr3': 'Learning',
               'mkr4':'operator',
               'mkr5':'concept',
               'mkr6': '%s'}
# Mapping a string with string variables in dictionary
ResultantStr = "%(mkr3)s %(mkr6)s %(mkr4)s %(mkr5)s %(mkr1)s %(mkr2)s" % ADict
# Printing result in output
print("Resultant mapped string with ordered variable from dictionary: ") 
print(ResultantStr)

输出:

Resultant mapped string with ordered variable from dictionary: 
Learning %s operator concept at JavaTpoint