有时候我们需要把一些变量填写到一个字符串中,如我们有3个变量
name="张三"
gender="男"
age="21"
假如我需要把它们放入以下字符串中。
"hi, 我叫 , 性别 , 年龄 "
- 拆分拼接
name="张三"
gender="男"
age="21"
string = "hi, 我叫 " + name + ", 性别 "+ gender + ", 年龄 " + age
print(string)
当有多个变量时往往要拆开很多段,不推荐。一般我们采用字符串格式化的方法。
字符串格式化是在字符串中先埋设占位符,然后后面在依次或根据名称填上对应的变量值,占位符一般分为无名占位符和具名占位符。
- %格式化,示例如下:
string = "hi, 我叫 %s, 性别 %s, 年龄 %d" % (name, gender, age) # %s表示字符串格式 %d表示数字格式
print(string)
string = "hi, 我叫 %(name)s, 性别 %(gender)s, 年龄 %(age)d" % {"name": name, "gender": "gender", "age": age}
print(string)
- 字符串
.format()
方法
name="张三"
gender="男"
age="21"
string = "hi, 我叫 {}, 性别 {}, 年龄 {}".format(name, gender, age) # 使用{}或{数字}作为占位符
print(string)
string = "hi, 我叫 {name}, 性别 {gender}, 年龄 {age}".format(name=name, gender=gender, age=age)
print(string)
- f字符串,在字符串引号前加上f可以将已知变量快速填充到字符串中
name="张三"
gender="男"
age="21"
string = f"hi, 我叫 {name}, 性别 {gender}, 年龄 {age}"
print(string)
注: f字符串大括号中还支持表达式计算,如
{age+1}