在Python 3.6之前,格式化字符串一般使用format()
方法。而自Python 3.6起,更简洁、更快速的F-String成为推荐的字符串格式化方法。本文详细介绍F-String的常见用法。
1. 什么是F-String?
F-String是Python 3.6新增的字符串格式化方法,通过在字符串前加f
标识即可使用。
示例:
price = 49
txt = f"这个商品的价格是 {price} 美元"
print(txt)
# 输出:这个商品的价格是 49 美元
2. F-String基础使用
(1)直接嵌入变量
name = "张三"
age = 28
txt = f"{name}今年{age}岁。"
print(txt)
# 输出:张三今年28岁。
(2)格式化数字位数
例如,保留小数点后两位:
price = 49.567
txt = f"价格是 {price:.2f} 美元"
print(txt)
# 输出:价格是 49.57 美元
3. F-String的高级用法
(1)执行数学运算
在字符串中直接执行运算:
quantity = 3
price = 20
txt = f"总价是 {quantity * price} 美元"
print(txt)
# 输出:总价是 60 美元
(2)使用条件表达式
直接在F-String中使用if...else
:
price = 60
txt = f"这个商品{'很贵' if price > 50 else '便宜'}"
print(txt)
# 输出:这个商品很贵
(3)调用方法或函数
在字符串中调用方法:
fruit = "apple"
txt = f"I like {fruit.upper()}"
print(txt)
# 输出:I like APPLE
在字符串中调用自定义函数:
def convert_to_meters(feet):
return feet * 0.3048
altitude = 30000
txt = f"飞机飞行高度为 {convert_to_meters(altitude)} 米"
print(txt)
# 输出:飞机飞行高度为 9144.0 米
4. F-String格式化修饰符
以下是一些常用格式化修饰符:
:,
数字千位分隔符:.2f
保留两位小数:%
百分比格式:b
二进制格式:x
十六进制格式
示例:
price = 59000
txt = f"价格是 {price:,} 美元"
print(txt)
# 输出:价格是 59,000 美元
5. 与format()方法的比较
format()
方法是Python 3.6之前推荐的格式化方式,但速度较慢且较复杂:
使用format()示例:
price = 49
txt = "价格是 {} 美元".format(price)
print(txt)
# 输出:价格是 49 美元
同时处理多个变量:
quantity = 3
itemno = 567
price = 49
myorder = "我要{}个编号为{}的商品,每个{:.2f}美元。"
print(myorder.format(quantity, itemno, price))
# 输出:我要3个编号为567的商品,每个49.00美元。
F-String语法简洁,功能强大,是目前推荐的Python字符串格式化方法。使用F-String,可以提高代码的可读性与运行效率。