今天小编就和大家来分享一下Python当中的字符串格式化输出,相信大多数人也对此有所耳闻,但是f-string的格式化输出还是很多不为人所数值的一些特征,因此本篇文章也是希望借此机会来向大家一一说明。
时间与日期的输出
f-string在形式上是以f或者F修饰符引领的字符串,(f'xxx'或者F'xxxx'),以大括号{}标明被替换的字段。首先,我们来看时间和日期的格式化输出,代码如下:
import datetime
today = datetime.datetime.today()
print(f"{today:%Y-%m-%d}")
- 1.
- 2.
- 3.
output:
2022-05-04
- 1.
或者是:
print(f"{today:%Y}")
- 1.
output:
2022
- 1.
而关于Python的时间日期的格式化符号,其中%Y表示的是四位数的年份(000-9999),而%m表示的则是月份(01-12),%d表示的则是月内中的一天(0-31),除此之外,还有表示时间的%H:%M:%S格式,其中%H表示的是24小时制的小时数(0-23),12小时制的则是%I,后面剩余的则是分钟和秒数,这里就不做过多的赘述。
打印浮点数更加多样化
打印浮点数的时候,形式也可以是多种多样的,我们可以指定小数点后面保留特定的位数:
x, y = 10, 25
print(f"x={x:.3f}, y={y:.3f}")
- 1.
- 2.
output:
x=10.000, y=25.000
- 1.
我们还可以给整数添加千分位的符号,代码如下:
number = 1234567890
print(f"{number: ,}")
- 1.
- 2.
output:
1,234,567,890
- 1.
另外还可以在数字的最前面添加上货币符号:
number = 254.3463
print(f"{f'${number:.3f}'}")
- 1.
- 2.
output:
$254.346
- 1.
打印字符串时
当f-string和字符串结合时,可以与字符串的其他方法联用,代码如下:
name = 'ERIC'
print(f'My name is {name.lower()}')
- 1.
- 2.
output:
My name is eric
- 1.
除了lower()方法之外,还有upper()方法、capitalize()方法、replace()方法、split()方法等等:
name = 'ERIC'
print(f'My name is {name.capitalize()}')
- 1.
- 2.
output:
My name is Eric
- 1.
和Lambda函数的结合
最后f-string格式化输出也可以和lambda函数结合来使用,代码如下:
print(f"{(lambda x: x**2)(4)}")
- 1.
output:
16
- 1.