Python中的字符串格式化方法

有时候我们需要把一些变量填写到一个字符串中,如我们有3个变量

name="张三"
gender="男"
age="21"

假如我需要把它们放入以下字符串中。

"hi, 我叫     , 性别     , 年龄      "
  • 拆分拼接
name="张三"
gender="男"
age="21"
string = "hi, 我叫 " + name + ", 性别 "+ gender + ", 年龄 " + age
print(string)

当有多个变量时往往要拆开很多段,不推荐。一般我们采用字符串格式化的方法。
字符串格式化是在字符串中先埋设占位符,然后后面在依次或根据名称填上对应的变量值,占位符一般分为无名占位符和具名占位符。

  1. %格式化,示例如下:
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)
  1. 字符串.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)
  1. f字符串,在字符串引号前加上f可以将已知变量快速填充到字符串中
name="张三"
gender="男"
age="21"
string = f"hi, 我叫 {name}, 性别 {gender}, 年龄 {age}"
print(string)

注: f字符串大括号中还支持表达式计算,如{age+1}

原文地址:https://www.cnblogs.com/superhin/p/13837611.html