Python教程-Python %s - 字符串格式化
在本教程中,我们将学习如何在我们的Python程序中实现和使用%s。我们还将了解%s在字符串中的用途。
Python字符串中的%s
基本上,%符号在Python中与具有许多数据类型和配置的大量数据一起使用。
谈到%s,它专门用于在Python中将两个或多个字符串连接在一起。%s允许我们在给定的字符串中格式化或放置一个字符串或数字值。简单地说,Python中的%s用于将一个给定的字符串嵌入到另一个字符串中。该运算符会自动将给定值转换为字符串数据类型。
我们将%操作符放在需要指定字符串的地方。我们想要附加到给定字符串中的值的数量应该等于字符串中在括号之间指定的%s操作符的数量。
以下的Python代码将解释使用%s操作符执行字符串格式化的方式:
示例 -
# Define a string value
str = "javatiku!"
# using %s to appending string
print("Hello Python developers! Welcome to, %s!" % str)
输出:
Hello Python developers! Welcome to, javatiku!
如上面的代码中所示,我们声明了一个字符串变量str
,并将其附加到括号中的给定字符串中。我们使用了%s操作符附加了str
字符串值。
Python中%s操作符的用途
在本节中,我们将讨论%s操作符的主要用途。我们还将学习多种方法来实现%s操作符以及它对我们的帮助。
我们将讨论以下实现%s的方法:
- 字符串中的多个%s
- 用于映射字符串的%s
- 用于将列表作为字符串的%s
- 使用%s的有序字典
1. 字符串中的多个%s:
我们可以使用%s操作符将给定的字符串变量附加到字符串中,将其放在我们希望添加值的位置。Python将简单地在我们在字符串中使用%s操作符的地方添加字符串变量。让我们通过一个示例来理解它。
示例:看下面的代码:
# Declaring multiple string values
mkr1 = "developers"
mkr2 = "javatiku"
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 javatiku! 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 = "javatiku"
# 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 javatiku
注意:但是,如果我们在%s操作符后面没有提供相同数量的字符串变量,就像以下程序一样,代码会在输出中引发TypeError:
示例 - 2
# Declaring multiple string variables
mkr1 = "Hey"
mkr2 = "Python"
mkr3 = "Developers"
mkr4 = "Welcome"
mkr5 = "to"
mkr6 = "javatiku"
# 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 = "javatiku"
# 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 javatiku, ['Java', 'Python', 'C++', 'HTML', 'JavaScript']
4. 使用%s的有序字典:
我们可以在字典数据类型变量中定义多个字符串变量。然后,我们可以根据需要使用%s操作符来调用这些字符串变量,只需使用字符串变量名。
示例:
# Declaring a dict variable with multiple string variable in it
ADict = {'mkr1': 'at',
'mkr2': 'javatiku',
'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 javatiku