最近在看python基础的时候,又发现一个之前没怎么掌握的字符串格式化的小技巧,f-string
f-string 格式化
f-string是Python3.6引入的一种字符串格式化方式,它提供了一种简洁、直观的方式来将变量值嵌入到字符串中。在 f-string 中,可以在字符串前加上 f 或 F,然后用 {} 括起变量或表达式来进行字符串插值。
下面直接演示几种用法:
案例一:变量替换
代码语言:javascript复制name = "小博"
age = 31
print(f"My name is {name} and I am {age} years old.")
输出:My name is 小博 and I am 31 years old.
案例二:表达式的替换
代码语言:javascript复制x = 1
y = 2
print(f"{x} {y} = {x y}")
输出:1 2 = 3
案例三:使用格式化控制符控制精度等格式
代码语言:javascript复制π = 3.14159265
print(f"π 的值是 {π:.2f}.")
输出:π 的值是 3.14.
案例四:使用变量的属性
代码语言:javascript复制class Student:
def __init__(self, name, age):
self.name = name
self.age = age
stu = Student("张三", 21)
print(F"{stu.name} is {stu.age} years old.")
案例五:结合if语句一起使用
代码语言:javascript复制salary = 10
print(f"你的收入{'超过了18k' if salary >= 18 else '没有超过18k'}.")
输出:你的收入没有超过18k.
案例六:Python 3.8中引入的一种称为"Debug f-strings"的新特性
代码语言:javascript复制a = 1
b = 2
print(f"{a=},{b=}")
输出 a=1,b=2
要特别注意哈,案例六的用法,在python3.8以上的版本才支持哈,3.7的版本这么写是会报错的哟:
说明:
{a=}和{b=}会将变量a和b的名称和值作为字符串插入到输出中,方便在调试过程中查看变量的值。这个特性可以让你更快地了解代码中的变量值,而不用手动打印或者调试。需要注意的是,这个特性只在Python 3.8及以上版本中可用。如果你使用的是Python 3.7或更早的版本,你可以使用类似print(f"a={a}, b={b}")的方式来达到同样的效果。
下面留一些练习题,大家可以思考一下通过f-string怎么巧妙的输出这些结果: