python字符串的美化_【转】Python 格式化字符串

相关学习资料:Python字面值 - 网易云课堂​study.163.com

格式化字符串变量值 或称 f-string 是带有 'f' 或 'F' 前缀的字符串字面值。以 {} 标示的表达式替换对应的变量。是Python3.6新引入的一种字符串格式化方法。

f-string 在功能方面不逊于传统的 %-formatting 语句和 str.format() 函数 ,同时性能又优于他们,且使用起来也更加简洁明了,因此以后推荐使用 f-string 进行字符串格式化。

简单使用

注:下例的 name 和 age 是变量。

name = 'Tom' age = 17 f'Hello, my name is {name}' # Hello, my name is Tom f"I'm {age} years old." # I'm 17 years old. f'把我的名字放入大括号是{"{name}"}' # 把我的名字放入大括号是{name}

表达式求值

f'I was born in { 2020 - age }.' # I was born in 2003. f'我数学和语文的平均分是{(98+89)/2}' # 我数学和语文的平均分是93.5

函数调用

f'我名字有{len(name)}个字母,全部小写为 {name.lower()}' # 我名字有3个字母,全部小写为 tom import math f'sin(80)的值是{math.sin(80)}' # sin(80)的值是-0.9938886539233752

自定义格式

f-string 可以用 {content:format} 设置字符串的格式,format 为格式描述符。

提示

自定义格式化一般应用在脚本输出的美化和可视化中,对于数据处理会事先将这些内容格式处理好,直接输出就可以了。初学者暂时不用理会这些内容,或许你永远用不到它。

宽度

name_1 = "tom" name_2 = "lily" print(f'{name_1:5}100分') print(f'{name_2:5}100分')

我们看到给其宽度为5个字符,两个名字会占用同样的宽度,不足的用空格补齐。

tom 100分 lily 100分

f'今年{age:08}岁' # 加0不够长度前边补0 # 今年00000017岁

对齐

# < 左对齐(字符串默认对齐方式) # > 右对齐(数值默认对齐方式) # ^ 居中 print(f'欢迎{name_1:<10}光临') print(f'欢迎{name_2:>10}光临') print(f'欢迎{name_1:^10}光临')

输出效果是:

欢迎tom 光临 欢迎 lily光临 欢迎 tom 光临

数字格式化

print(f'最高{8848:+}m') # 显示正号 print(f'最低{-11043: }m') # 空格, 正数前导空格,负数使用减号 # 最高+8848m # 最低-11043m

a = 123.456 f'a is {a:.2f}' # 两位小数 # a is 123.46 f'a is {a:8.2f}' # 8个字符位置, 不够用空格占位 # a is 123.46 f'a is {a:08.2f}' # 8个字符位置, 不够用0占位 # a is 00123.46 f'a is {a:8.2%}' # 共8位, 不足后边补0, 再加百分号 # a is 12345.60% f'a is {3253547568.43:,f}' # 加千分位 # a is 3,253,547,568.430000

lambda 表达式

f'圆面积是{(lambda x: 3.14*x ** 2) (4)}' # 圆面积是50.24 f'圆面积是{(lambda x: 3.14*x ** 2) (100):<+7.2f}' # 圆面积是+31400.00

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值