5个Python使用F-String进行格式化的实用技巧分享
作者:wang_yb
F-String
(格式化字符串字面值)是在Python 3.6中引入的,它是一种非常强大且灵活的字符串格式化方法。
它允许你在字符串中嵌入表达式,这些表达式在运行时会被求值并转换为字符串,这种特性使得F-String
在编写Python
代码时能够更简洁、更直观地处理字符串。
本文总结了5个实用的F-String
技巧,相信一定能让你的代码输出更加的美观,清晰。
1. 大数字
在Python
的数据分析的项目中,经常接触到很大的数字,直接打印出大数字的话,很难看出它究竟有多少位。
n = 100000000 print(n) # 100000000
用F-String
来格式化,可以将大数字用千分位的形式显示出来。
# 千分位的分隔符用 _ 或者 , 都可以 print(f"{n:_}") # 100_000_000 print(f"{n:,}") # 100,000,000
2. 浮点数
对于浮点数,除了可以用千分位分隔之外,还可以指定显示几位小数。
n = 1234.5678 print(f"{n:.2f}") # 1234.57 print(f"{n:.0f}") # 1235 print(f"{n:,.3f}") # 1,234.568 print(f"{n:_.3f}") # 1_234.568
显示前会自动做四舍五入的计算。
3. 对齐
对齐不仅是让输出更加美观,更重要的是清晰,能够让我们更容易找到输出中的关键的信息。
比如,下面对齐输出name
和value
。
name = "var" value = 100 # >20 表示右对齐,并且占用20个字符的空间 print(f"{name:>20}: {value}") # <20 表示左对齐,并且占用20个字符的空间 print(f"{name:<20}: {value}") # ^20 表示居中对齐,并且占用20个字符的空间 print(f"{name:^20}: {value}")
# 运行结果 var: 100 var : 100 var : 10
占用的20
个字符的空间,包括var
这个字符串,也就是说,占用的空间包含var
和17
个空格。
F-String
格式化输出时,默认是用空格来占位的,我们也可以定义自己的占位符。
# 下面的例子分别用 _ # | 来占位 print(f"{name:_>20}: {value}") print(f"{name:#<20}: {value}") print(f"{name:|^20}: {value}")
# 运行结果 _________________var: 100 var#################: 100 ||||||||var|||||||||: 100
4. 日期
日期的格式化也是很常用的,python的日期格式化字符都可以在F-String
中使用。
from datetime import datetime now = datetime.now() print(f"{now:%Y-%m-%d (%H:%M:%S)}") # 2024-03-12 (00:17:05) print(f"{now:%c}") # Tue Mar 12 00:17:05 2024 print(f"{now:%I%p}") # 12AM
5. 变量描述
最后这个功能很有用,但估计没多少人知道。
所谓变量描述,也就是说在输出变量的时候,不仅输出变量的值,也输出变量的名字。
比如,一般我们输出变量是这样:
a = 10 b = 20 s = "hello" print(f"{a + b}") # 30 print(f"{s}") # hello
这样输出之后,我们不知道30
和hello
是哪个变量的值。
所以,我们一般会像下面这样输出:
print(f"a + b = {a + b}") # a + b = 30 print(f"s = {s}") # s = hello
F-String
有个技巧,可以避免自己手动去输入变量的名字(比如上面的a + b =
和 s =
)。
print(f"{a + b = }") # a + b = 30 print(f"{s = }") # s = hello
这样不仅简化的写代码,而且变量名称发生变化的时候,也可以减少修改的地方。
到此这篇关于5个Python使用F-String进行格式化的实用技巧分享的文章就介绍到这了,更多相关Python F-String格式化内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!