Python中的f-string是以 f
或 F
开头的字符串,例如 f"..."
,允许你在字符串中直接嵌入变量或表达式,只需要通过花括号将它们括起来。它是Python3.6新引入的一种字符串格式化方法,主要目的是使格式化字符串的操作更加简便。
它的基本语法是:
f'string {variable/expression:condition}' 或者 f"string {variable/expression:condition}"
{ }
花括号用于包含要格式化的变量或表达式。- 冒号左边你要输出的变量名或表达式。
- 冒号用于分隔输出内容和格式说明符,冒号及其右侧内容是可选的。
以下是一些例子:
1. 直接代入变量:
name = "Alice"
age = 30
print(f"我的名字是 {name}, 今年 {age} 岁。")
输出:
我的名字是 Alice, 今年 30 岁。
2.使用表达式:
2.1 计算表达式
print(f'Result one is {3*3 +7}')
a = 2
b = 5
print(f'Result two is {a**b}')
str = 'It is so cool!'
print(f'{str.upper()}')
输出:
Result one is 16
Result two is 32
IT IS SO COOL!
2.2 调试模式
x=3.14159
print(f'{x = }')
输出:
x = 3.14159
3.使用条件设置格式化输出
3.1 浮点数打印,保留小数点后三位
x= 3.1415926
# 使用 f-string 格式化输出,保留三位小数
print(f"这个浮点数保留三位小数是:{x:.3f}")
输出:
这个浮点数保留三位小数是:3.142
.3f是
格式说明符,表示保留三位小数的浮点数输出。
f
: 表示以标准浮点数格式输出。3
: 保留的小数位数。.
: 小数点,表示这是一个浮点数格式。
3.2 更多格式控制
除了上例中的小数点位数的控制之外,f-string还支持多种格式控制功能
f-string支持三种对齐方式:
<:左对齐(字符串默认对齐方式
>:右对齐(数值默认对齐方式)
^:居中。
f-string支持将数字格式化为二进制、十进制、八进制和十六进制
#b:二进制整数格式
#d:十进制整数格式
#o:八进制整数格式
#x:十六进制整数格式(小写字母)
#X:十六进制整数格式(大写字母)
f-sring也可以指定输出宽度和是否使用0来补位。
实例代码:
x=3.1415926
print(f'左对齐:{pi = :<010.4f}')
print(f'右对齐:{pi = :>010.4f}')
s='Python'
print(f'居中,宽度20位:{s = :^20}')
print(f'居右,宽度20位:{s = :>20}')
y = 160
#十进制整数,宽度10位
print(f'十进制,居中,补位:{y:^#010d}')
print(f'十进制,居中,不补位:{y:^#10d}')
print(f'十进制,居右,补位:{y:>#010d}')
print(f'十进制,居左,补位:{y:<#010d}')
#二进制整数,显示前缀0b
print(f'二进制,居中:{y:^#10b}')
#八进制整数,显示前缀0o
print(f'八进制,居中:{y:^#10o}')
#十六进制整数(大写字母),显示前缀0X
print(f'十六进制,居中:{y:^#10X}')
输出:
左对齐:pi = 3.14150000
右对齐:pi = 00003.1415
居中,宽度20位:s = Python
居右,宽度20位:s = Python
十进制,居中,补位:0001600000
十进制,居中,不补位: 160
十进制,居右,补位:0000000160
十进制,居左,补位:1600000000
二进制,居中:0b10100000
八进制,居中: 0o240
十六进制,居中: 0XA0