见习法师
>>> print(f"1+1={1+1}")
1+1=2
>>> x = 1 + 1
>>> print(f"1+1={x}")
1+1=2
>>>
这是f-string最基本的用法,直接在字符串中插入一个对象(值/变量/表达式)。
魔法师
自记录
>>> print(f"{1 + 1 = }")
1 + 1 = 2
>>> a, b = 2, 6
>>> print(f"{a + b = }")
a + b = 8
>>> print(f"{a=},{b=},{a+b=}")
a=2,b=6,a+b=8
数字处理
千分位分隔, 只支持下划线_
和逗号,
。
>>> print(f"{1145141919810:,}")
1,145,141,919,810
>>> print(f"{1145141919810:_}")
1_145_141_919_810
浮点数修约
默认修约(小数点后6位)
>>> a = 1.145141919
>>> print(f"{a:f}")
1.145142
指定位数修约
>>> a = 1.145141919
>>> print(f"{a:.2f}")
1.15
注意这里的修约规则实际上是四舍六入五凑偶,而不是四舍五入。
科学计数法
>>> a = 99 ** 9
>>> print(f"{a:e}")
9.135172e+17
>>> print(f"{a:E}")
9.135172E+17
这些方法可以联合使用
>>> a = 99 ** 9
>>> print(f"{a:.3e}")
9.135e+17
>>> a = 123456789.987654321
>>> print(f"{a:_.3f}")
123_456_789.988
时间对象处理
>>> from datetime import datetime
>>> now = datetime.now()
>>> print(f"{now:%c}")
Wed Mar 13 08:13:10 2024
>>> print(f"{now:%Y-%m-%d %H:%M:%S}")
2024-03-13 08:13:10
缩进控制
x=1
>>> print(f"|{x:3}|")
| 1|
>>> print(f"|{x:03}|")
|001|
>>> print(f"|{x:<3}|")
|1 |
>>> print(f"|{x:>3}|")
| 1|
>>> print(f"|{x:^3}|")
| 1 |
>>> print(f"|{x:_>3}|")
|__1|
>>> x=-1
>>> print(f"|{x:=3}|")
|- 1|
大魔导师
输出九九乘法表
for x in range(1, 10):
for y in range(1, x + 1):
print(f"|{x}*{y}={x * y:<2}", end="")
print("|")
运行结果
|11=1 |
|21=2 |22=4 |
|31=3 |32=6 |33=9 |
|41=4 |42=8 |43=12|44=16|
|51=5 |52=10|53=15|54=20|55=25|
|61=6 |62=12|63=18|64=24|65=30|66=36|
|71=7 |72=14|73=21|74=28|75=35|76=42|77=49|
|81=8 |82=16|83=24|84=32|85=40|86=48|87=56|88=64|
|91=9 |92=18|93=27|94=36|95=45|96=54|97=63|98=72|9*9=81|