python3.6的字符串处理f-string的使用技巧分享
作者:鳄鱼儿
在这篇文章中讲解了F字符串的基础使用,对于F字符串有着很多的使用技巧,在这篇文章中你会见识到更多的F字符串的使用技巧,下面小编将介绍python3.6 的字符串处理f-string的使用技巧,需要的朋友可以参考下
f-string的使用技巧
f-string填充
填充分为左填充、右填充、居中填充。
左填充表示在字符串左侧填充,右填充表示在字符串右侧填充,居中填充表示在字符串左右两侧对称填充。
name = "鳄鱼儿" print(f"{name:>20}") print(f"{name:<20}") print(f"{name:^20}") # 鳄鱼儿 #鳄鱼儿 # 鳄鱼儿
>
表示左填充<
表示右填充^
表示居中填充。
记忆:括号口朝左边,就表示左填充;括号口朝右边,就表示右填充。
f-string保留小数位数 f"{num:xxx}"
a = 123.456 # 只指定width print(f"{a:10}") #' 123.456' # 指定0width print(f"{a:010}") #'000123.456' # 使用width.precision print(f"{a:10.1f}") #' 123.5' print(f"{a:.2f}") #'123.46'
其中xxx
的格式如下
格式 | 说明 |
---|---|
width | 整数width指定宽度 |
0width | 整数width指定宽度,0表示最高位用0补足宽度 |
width.precision | 整数width指定宽度,整数precision表示精度(保留小数点后几位小数) |
f-string进制转换
还可以用数字进行进制转换,如:十六进制转换、二进制转换、八进制转换、科学计数法等
number = 15 # 十六进制转换 print(f"hex: {number:#0x}") # hex: 0xf # 二进制转换 print(f"binary: {number:b}") # binary: 1111 # 八进制转换 print(f"octal: {number:o}") # octal: 17 # 科学计数法 print(f"scientific: {number:e}") # scientific: 1.500000e+01
f-string千位符分隔符、百分比
千位符分隔符和百分比也可以很简单的实现。
a = 1000000 print(f"{a= :,}") # a= 1,000,000 per = 0.59596 print(f"{per = :.2%}") # per = 59.60%
:.2%
即为设置保留 2 位小数并在字符串末尾添加一个百分号,且会自动根据保留小数位进行四舍五入。
f-string调试模式 {variable = }
你仔细观察下上面的例子,是不是发现语法书写变化了,这种写法就是f-string调试模式。
f-string 的调试功能是另一种书写语法,即使用 {variable = }
代替 variable = {}
,如下面代码所示。
a = 1 b = 2 print(f"a = {a}, b = {b}") # a = 1, b = 2 print(f"{a = }, {b = }") # a = 1, b = 2
可以看到使用调试模式减少了代码量,同时输出的内容是一致的。由此可见调试模式可以节省大量时间和精力,使代码看起来更整洁。
在 f-string 的调试模式中,还可以执行数学运算。
print(f"{a * b = }") # a * b = 2
f-string日期格式化
如果想格式化日期,可以创建一个示例日期时间值。就像在应用程序中格式化日期一样,可以在 f-string 中定义你想要的格式,例如:<date_format>
import datetime today = datetime.datetime.utcnow() print(f"datetime : {today}") # datetime : 2024-02-28 06:11:04.848944 print(f"date time: {today:%m/%d/%Y %H:%M:%S}") # 没有微秒 # date time: 02/28/2024 06:11:04 print(f"date: {today:%m/%d/%Y}") # 仅日期 # date: 02/28/2024 print(f"time: {today:%H:%M:%S.%f}") # 仅时间 # time: 06:11:04.848944 print(f"time: {today:%H:%M:%S %p}") # 时间带上上午/下午 # time: 06:11:04 AM print(f"time: {today:%H:%M}") # 24小时制时间 # time: 06:11 print(f"locale appropriate: {today:%c}") # 本地的适当日期和时间表示法 # locale appropriate: Wed Feb 28 06:13:35 2024 print(f"weekday: {today:%A}") # 获取当前日期是星期几 # weekday: Wednesday print(f"day of year: {today:%j}") # 获取当前日期是一年中的第几天 # day of year: 059 day_of_year = f"{today:%j}" print(f"progress % year: {int(day_of_year)/365 * 100:.2f}%")# 获取本年度已过去时间(百分比) # progress % year: 16.16%
以上就是python3.6的字符串处理f-string的使用技巧f分享的详细内容,更多关于python3.6 f-string使用技巧的资料请关注脚本之家其它相关文章!