python有三种格式化字符串的方式:
- %-格式化
- str.format()
- f-String,超级好用
1、%-格式化
name = "jack"
age = 18
print("hello, %s, you are %s ?" %(name, age))
2、str.format()
## str.format()
# 替换字段用大括号进行标记
print("hello, {}, you are {}" .format(name, age))
# 通过索引来以其他顺序引用变量
print("hello, {1}, you are {0}" .format(name, age))
# 使用key-value的键值对,建议使用此方式,比较直观易读
print("hello, {name}, you are {age1}" .format(age1=age, name=name))
# 直接从字典读取数据
person = {"name": "jack", "age": 18}
print("hello, {name}, you are {age}" .format(**person))
3、f-String,超级好用
# 以f字符开头,大括号直接使用变量
print(f"hi, {name}, are you {age}")
# 执行表达式,直接在大括号里执行计算
print(f"{2 * 3 + 1}") # 等同于print(2 * 3 + 1)
# 直接调用函数
test = lambda x: x.lower()
name = "JACK"
print(f"test(name) is handsome")
# 直接调用内置函数
print(f"{name.lower()} is handsome")