在 Python 中将变量插入字符串中
Inserting variables into a String in Python
使用格式化字符串文字将变量插入字符串,例如
string = f'Name: {variable}'
. 格式化字符串文字允许我们通过在字符串前加上f
.
first = 'bobby' last = 'hadz' string = f'Name: {first} {last}' print(string) # 👉️ Name: bobby hadz
格式化字符串文字 (f-strings) 让我们通过在字符串前加上f
.
确保将表达式括在大括号 –{expression}
中。
您可以将任何类型的变量插入到字符串中。
age = 30 string = f'Age: {age}' print(string) # 👉️ Age: 30
您还可以在花括号内使用表达式。
salary = 50 string = f'Salary: {salary * 2}' print(string) # 👉️ Salary: 100
或者,您可以使用该str.format()
方法。
使用 str.format() 将变量插入字符串
使用该str.format()
方法将变量插入到字符串中,例如
string = "Name: {}".format(variable)
. 该str.format()
方法使我们能够包含可用于将变量插入字符串的替换字段。
first = 'bobby' last = 'hadz' string = "Name: {} {}".format(first, last) print(string) # 👉️ "Name: bobby hadz"
str.format方法
执行字符串格式化操作。
调用该方法的字符串可以包含使用花括号指定的替换字段{}
。
您可能还会看到包含数字索引的替换字段。
first = 'bobby' last = 'hadz' result = "Name: {0} {1}".format(first, last) print(result) # 👉️ "Name: bobby hadz"
索引处的替换字段0
被第一个变量替换,索引处的替换字段1
被第二个变量替换。
替换字段还可以包含关键字参数的名称。
first = 'bobby' last = 'hadz' result = "Name: {f} {l}".format(f=first, l=last) print(result) # 👉️ "Name: bobby hadz"
上面的示例使用关键字参数而不是位置参数。
format()
方法提供的参数与字符串中的替换字段一样多。如果您决定将位置参数与数字索引一起使用,请确保从 开始0
,例如{0}
,因为索引在 Python 中是从零开始的。
或者,您可以使用加法 (+) 运算符。
使用加法 (+) 运算符将变量插入字符串
使用加法运算符 (+) 将变量插入到字符串中,例如
string = 'Name: ' + variable
. 加法运算符可用于连接字符串。
first = 'bobby' last = 'hadz' string = 'Name: ' + first + ' ' + last print(string) # 👉️ Name: bobby hadz
当与两个字符串一起使用时,加法 (+) 运算符连接两个字符串。
print('ab' + 'cd') # 👉️ 'abcd'
在使用加法 (+) 运算符之前,使用str()
该类将任何非字符串值转换为字符串。
salary = 100 string = 'Salary: ' + str(salary) print(string) # 👉️ Salary: 100
如果您尝试对不兼容类型的值使用加法运算符,则会出现错误。
salary = 100 # ⛔️ TypeError: can only concatenate str (not "int") to str string = 'Salary: ' + salary
另一方面,格式化字符串字面量会自动为我们将值转换为字符串。
您选择哪种方法是个人喜好的问题。我会使用格式化字符串文字,因为我发现它们非常直接且易于阅读。