在 Python 中,f" "
语法表示 f-string,是一种用于格式化字符串的方式。f 代表“格式化”(formatted),即它允许在字符串中嵌入表达式或变量,并将其评估后嵌入到字符串中。
这种语法在 Python 3.6 及以后版本中被引入,是一种非常简洁且高效的字符串格式化方法。
1. 基本用法
在 f-string 中,你可以直接在字符串中使用花括号 {}
来包含变量或表达式,并且这些表达式会在字符串创建时自动被求值并替换为对应的值。
比如
name = "Alice"
age = 30
greeting = f"Hello, my name is {name} and I am {age} years old."
print(greeting)
输出如下:
在上面的例子中,f" "
字符串中嵌入了 name 和 age 变量,它们会被替换成对应的值。
2. 表达式支持
f-string
不仅支持变量,还支持任何有效的 Python 表达式。例如,你可以在花括号内进行计算、调用函数、访问属性等。
比如
a = 5
b = 10
result = f"The sum of {a} and {b} is {a + b}."
print(result)
输出如下:
在这个例子中,a + b 被直接嵌入到 f-string 中,计算结果 15 会在字符串中显示。
3. 格式化数字
f-string 还允许你使用格式化代码来控制如何显示数值。例如,可以设置浮点数的小数位数、整数的对齐方式等。
比如
pi = 3.141592653589793
formatted_pi = f"Pi to 3 decimal places is {pi:.3f}."
print(formatted_pi)
输出如下:
在这个例子中,{pi:.3f}
表示将 pi 格式化为保留三位小数的浮点数。
关于设置整数对齐方式的相关内容,可以看下这篇博客python如何设置整数对齐方式
4. 多行 f-string
f-string 也支持多行字符串,可以使用三引号 f""" """
或 f''' '''
来创建多行格式化字符串。
比如
name = "Alice"
age = 30
message = f"""
Name: {name}
Age: {age}
"""
print(message)
输出如下:
5. 性能
f-string 的优点之一是性能比传统的格式化方法(如 % 格式化
和 str.format()
)更高效。
6. 总结
-
f-string 是一种在 Python 中用于字符串格式化的简洁方式。
-
使用
f" "
前缀,可以在字符串中直接嵌入变量和表达式。 -
它可以提高代码的可读性和性能,是推荐的格式化方式。
-
f-string 支持复杂的表达式和格式化选项,使得字符串格式化更加灵活和强大。