python中的f字符串格式_Python字符串格式化f-string多种功能
实现
f-string 格式化
f-string 格式化 就是在字符串模板前⾯加上f,然后占位符使⽤{} ,⾥⾯直接放⼊对应的数据对象。
如下所⽰
f'税前薪资是:{salary}元, 缴税:{tax}元, 税后薪资是:{aftertax}元'
完整的代码如下
salary = input('请输⼊薪资:')
# 计算出缴税额,存⼊变量tax
tax = int(salary) *25/100
# 计算出税后⼯资,存⼊变量aftertax
aftertax = int(salary) *75/100
print(f'税前薪资是:{salary}元, 缴税:{tax}元, 税后薪资是:{aftertax}元')
运⾏⼀下,可以发现输出结果⼀样。这种⽅式是不是更加的直观明了呢?
要注意的是,这种写法必须要Python解释器是3.6 以后的版本才⽀持哦。
指定宽度
同样,为了输出对齐,我们需要指定填⼊的字符串的宽度。
⽅法是,在括号⾥⾯的变量后⾯加上 :宽度值
⽐如
salary = 10000
print(f'{salary:10}')
f'{salary:10}' 就指定了 宽度为10 个字符, 如果填⼊的字符串不⾜10个字符,就在前⾯加上空格.⽐如上⾯的输出结果就是
>>> salary = 10000
>>> print(f'{salary:10}')
10000
完整的⼀个⽰例程序如下
# 员⼯ 1
salary = 8000
tax = int(salary) *25/100
aftertax = int(salary) *75/100
print(f'税前薪资是:{salary:8}元, 缴税:{tax:8}元, 税后薪资是:{aftertax:8}元')
# 员⼯ 2
salary = 15000
tax = int(salary) *25/100
aftertax = int(salary) *75/100
print(f'税前薪资是:{salary:8}元, 缴税:{tax:8}元, 税后薪资是:{aftertax:8}元')
# 员⼯ 3
salary = 100000
tax = int(salary) *25/100
aftertax = int(salary) *75/100
print(f'税前薪资是:{salary:8}元, 缴税:{tax:8}元, 税后薪资是:{aftertax:8}元')
运⾏⼀下结果如下:
税前薪资是: 8000元, 缴税: 2000.0元, 税后薪资是: 6000.0元
税前薪资是: 15000元, 缴税: 3750.0元, 税后薪资是: 11250.0元
税前薪资是: 100000元, 缴税: 25000.0元, 税后薪资是: 75000.0元
这样,整体就显得很清爽。
当然上⾯的代码 有很多重复的部分。聪明的你想到怎么优化⼀下了吗?
对了,⽤函数。像这样
def calcTax(salary):
tax = int(salary) *25/100
aftertax = int(salary) *75/100
print(f'税前薪资是:{salary:8}元, 缴税:{tax:8}元, 税后薪资是:{aftertax:8}元')
# 员⼯ 1
calcTax(8000)
# 员⼯ 2
calcTax(15000)
c++中string的用法# 员⼯ 3
calcTax(100000)
左对齐
上⾯的输出结果是不⾜在前⾯补空格,最终的结果就是右边对齐。 如果我们想左对齐,可以在括号⾥使⽤ < 符号像这样 {salary:<8}
def calcTax(salary):
tax = int(salary) *25/100
aftertax = int(salary) *75/100
print(f'税前薪资是:{salary:<8}元, 缴税:{tax:<8}元, 税后薪资是:{aftertax:<8}元')
calcTax(8320)
calcTax(15023)
calcTax(100030)
运⾏结果如下:
税前薪资是:8320 元, 缴税:2080.0 元, 税后薪资是:6240.0 元
税前薪资是:15023 元, 缴税:3755.75 元, 税后薪资是:11267.25元
税前薪资是:100030 元, 缴税:25007.5 元, 税后薪资是:75022.5 元
⼩数点后位数
如果我们想指定⼩数点后保留⼏位,可以像这样 {salary:<8.1f}
后⾯的.1f就表⽰⼩数点后⾯保留1位
def calcTax(salary):
tax = int(salary) *25/100
aftertax = int(salary) *75/100
print(f'税前薪资是:{salary:8.1f}元, 缴税:{tax:8.1f}元, 税后薪资是:{aftertax:8.1f}元') calcTax(8320)
calcTax(15023)
calcTax(100030)
运⾏结果如下:
税前薪资是: 8320.0元, 缴税: 2080.0元, 税后薪资是: 6240.0元
税前薪资是: 15023.0元, 缴税: 3755.8元, 税后薪资是: 11267.2元
税前薪资是:100030.0元, 缴税: 25007.5元, 税后薪资是: 75022.5元
不⾜补零
如果我们想在不⾜指定宽度的时候不是补空格,⽽是补数字0,可以像这样 {salary:08}
def calcTax(salary):
tax = int(salary) *25/100
aftertax = int(salary) *75/100
print(f'税前薪资是:{salary:08}元, 缴税:{tax:08.1f}元, 税后薪资是:{aftertax:08.1f}元') calcTax(8320)
calcTax(15023)
calcTax(100030)
运⾏结果如下:
税前薪资是:00008320元, 缴税:002080.0元, 税后薪资是:006240.0元
税前薪资是:00015023元, 缴税:003755.8元, 税后薪资是:011267.2元
税前薪资是:00100030元, 缴税:025007.5元, 税后薪资是:075022.5元
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持我们。
本⽂标题: Python字符串格式化f-string多种功能实现

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。