📅  最后修改于: 2020-07-30 05:10:55             🧑  作者: Mango
字符串插值是将变量的值替换为字符串中的占位符的过程,听起来像是字符串串联!但无需使用+
或串联方法。
让我们看看Python中字符串插值的工作方式。
这是Python提供的功能,可以通过 %
操作员进行访问。这类似于printf
C中的样式功能。
例:
# Python程序演示
# 字符串插值
n1 = 'Hello'
n2 ='GeeksforGeeks'
# 单次替换
print("Welcome to % s"% n2)
# 单次和多次替换()强制性
print("% s ! This is % s."%(n1, n2))
输出
Welcome to GeeksforGeeks
Hello! This is GeeksforGeeks.
假设它只是一个复杂的版本,但是如果我们有很多变量要替换为字符串,则可以使用它,因为我们并不总是希望使用(“字符串” + variable +“ string” + variable + variable +“ string “)的表示形式。因此,为此目的,我们可以进行%-
格式化。
str.format()
是Python3中的字符串格式化方法之一,它允许多次替换和值格式化。这种方法使我们可以通过位置格式将字符串中的元素连接起来。
例:
# Python程序演示
# 字符串插值
n1 = 'Hello'
n2 ='GeeksforGeeks'
# 单次替换
print('Hello, {}'.format(n1))
# 对于单次或多次替换,假设b1和b2是形式参数,n1和n2是实际参数
print("{b1}! This is {b2}.".format(b1 = n1, b2 = n2))
# 否则两者也可以相同
print("{n1}! This is {n2}.".format(n2 = n2, n1 = n1))
输出量
Hello, Hello
Hello! This is GeeksforGeeks.
Hello! This is GeeksforGeeks.
PEP 498引入了一种新的字符串格式化机制,称为“文字字符串插值”,或更常见的是 F-strings(由于字符串文字前的前导f字符)。f字符串背后的想法是使字符串插值更简单。
要创建f字符串,请在字符串前添加字母“ f”。字符串本身的格式可以与您使用一样str.format()
。F字符串为将python表达式嵌入字符串文字中进行格式化提供了一种简洁方便的方法。
Example:
# Python程序演示
# 字符串插值
n1 = 'Hello'
n2 ='GeeksforGeeks'
# f告诉Python恢复大括号{}中两个字符串变量名和程序的值
print(f"{n1}! This is {n2}")
# 内联算法
print(f"(2 * 3)-10 = {(2 * 3)-10}")
输出
Hello! This is GeeksforGeeks
(2*3)-10 = -4
在字符串模块中,模板类允许我们为输出规范创建简化的语法。该格式使用由$组成的占位符名称,并带有有效的Python标识符(字母数字字符和下划线)。用大括号括起来的占位符允许它后面跟着更多的字母数字字母,中间没有空格。编写$$将创建一个转义的$:
例:
# 演示字符串插值的Python程序
from string import Template
n1 = 'Hello'
n2 ='GeeksforGeeks'
# 制作了一个模板,我们用来传递两个变量
n = Template('$n3 ! This is $n4.')
# 并将参数传递到模板字符串中。
print(n.substitute(n3 = n1, n4 = n2))
输出
Hello Hello! This is GeeksforGeeks.