📜  Python字符串插值

📅  最后修改于: 2020-07-30 05:10:55             🧑  作者: Mango

字符串插值是将变量的值替换为字符串中的占位符的过程,听起来像是字符串串联!但无需使用+或串联方法。

让我们看看Python中字符串插值的工作方式。

%格式

这是Python提供的功能,可以通过 % 操作员进行访问。这类似于printfC中的样式功能。

例:

# 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()

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.

f-strings

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

String Template Class

在字符串模块中,模板类允许我们为输出规范创建简化的语法。该格式使用由$组成的占位符名称,并带有有效的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.