深圳幻海软件技术有限公司 欢迎您!

浅谈Python中的字符串格式化输出

2023-02-28

今天小编就和大家来分享一下Python当中的字符串格式化输出,相信大多数人也对此有所耳闻,但是f-string的格式化输出还是很多不为人所数值的一些特征,因此本篇文章也是希望借此机会来向大家一一说明。时间与日期的输出f-string在形式上是以f或者F修饰符引领的字符串,(f'xxx'或者F'xxx

今天小编就和大家来分享一下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.