【硬核干货】2500字全方面解读Python的格式化输出

本文介绍了Python中三种主要的字符串格式化输出方法:%占位符、f-string和format关键字。通过示例详细讲解了如何插入变量、指定精度、填充空格以及使用字典和列表参数等,并展示了在实际编程中的应用,如保留小数位数、千分位分隔符等。
摘要由CSDN通过智能技术生成

大家好,我是欣一,今天小编来和大家聊聊Python当中的格式化输出,希望会对大家所有帮助

%占位符的使用

我们先来看一下下面的这个例子,

country_ = "France"
currency_ = "Euro"

print("%s is the currency of %s" % (currency_, country_))

output

Euro is the currency of France

当然我们除了%s之外,代表的是字符串,还有%f代表的是浮点数以及%d代表的是整数,我们来看下面的这个例子,

name = '欣一'
age = 24
height = 1.88

print('我是:%s, 年龄:%d, 身高:%fm' % (name,age,height))

output

我是:欣一, 年龄:24, 身高:1.880000m

我们可以依据保留小数点后面固定的位数,默认的精度为6位,即是小数点后6位,当然我们也可以保留例如2位小数,代码如下

print('我是:%s, 年龄:%d, 身高:%.2fm' % (name,age,height))

output

我是:欣一, 年龄:24, 身高:1.88m

当然有时候我们指定了字符串的最终长度,但是现有的字符串远远没有那么长,因为我们就需要添加空格的方式来填充,可以填充在左边当然也可以填充在右边,代码如下

## 左填充
display('%10s' % ('欣一'))

## 右填充
display('%-10s' % ('欣一'))

output

'        欣一'
'欣一        '

f-string格式化

我们将上面的案例稍稍做一个修改,代码如下

country_ = "France"
currency_ = "Euro"

print(f"{currency_} is the currency of {country_}")

output

Euro is the currency of France

使用f-string格式化的方法好就好在可以直接使用变量名来填充句子当中的内容,当然我们也可以拿它直接来进行数值运算,代码如下

print(f'计算结果是:{2*10 + 3*15}')

output

65

或者直接和Python当中的内置函数以及lambda方法联用,代码如下

string_test = 'Python is awesome'
print(f'我想说 {string_test.lower()}')

output

我想说 python is awesome

以及

a = 100
b = 10
print(f'计算的结果是:{(lambda x,y:x+y)(a,b)}')

output

计算的结果是:110

format关键字

format关键字来格式化输出字符串有多种方式,

不指定位置

我们来看一下下面的这个例子,代码如下

print('我是:{}, 年龄:{}, 身高:{}m'.format (name,age,height))

output

我是:欣一, 年龄:24, 身高:1.88m

位置默认开始从0计算,然后对应位置填入数据

指定位置

也可以是指定位置的填入数据,代码如下

print('我是:{0}, 年龄:{1}, 身高:{2}m'.format (name,age,height))
print('我是:{0}, 年龄:{1}, 身高:{1}m'.format (name,age,height))
print('我是:{0}, 年龄:{2}, 身高:{1}m'.format (name,age,height))

output

我是:欣一, 年龄:24, 身高:1.88m
我是:欣一, 年龄:24, 身高:24m
我是:欣一, 年龄:1.88, 身高:24m

关键字配对

我们也可以按照关键字配对的方式来进行内容的填充,代码如下

print('我是:{name}, 年龄:{age}, 身高:{height}m'.format(name='欣一', age=25, height=1.88))

output

我是:欣一, 年龄:25, 身高:1.88m

字典参数

当我们数据是以字典的形式来展现的时候,就可以这么来做

dic = {'name':'欣一','age':24,'height':1.88}
print('我是:{name}, 年龄:{age}, 身高:{height}m'.format(**dic))

output

我是:欣一, 年龄:24, 身高:1.88m

列表参数

同样的,当我们的数据是以列表的形式来展现的时候,就可以这么来做

foods = ['fish', 'beef', 'fruit']
s = 'i like eat {} and {} and {}'.format(*foods)
print(s)

output

i like eat fish and beef and fruit

或者是有根据位置来进行填充,代码如下

foods = ['fish', 'beef', 'fruit']
s = 'i like eat {2} and {0} and {1}'.format(*foods)
print(s)

output

i like eat fruit and fish and beef

精度

有时候我们碰到需要对小数点后面的数字保留几位小数,代码上可以这么来操作

pi = 3.1415926
print("{:.2f}".format(pi)) # 保留两位小数
print("{:+.3f}".format(pi)) # 带符号保留3位小数
print("{:.2%}".format(pi)) # 百分比保留两位小数

output

3.14
+3.142
314.16%

千分位分隔符

主要是用于货币数据的格式化输出,例如是将“100000”变化成“100,000”,代码如下

print('{:,}'.format(100000000))

output

100,000,000

有时候我们还需要在前面添加上货币符号,代码如下

print('${:,}'.format(100000000))

output

$100,000,000

教程

25个好用到爆的一行Python代码,建议收藏

教程

用Python盘点2021年娱乐圈大事件,聊一聊这一年我们吃过的瓜

教程

Python抓取了王力宏事件的相关报道,发现了一个更大的瓜

教程

2000字精华总结,安利一个超好用的Pandas数据挖掘分析神器

分享、收藏、点赞、在看安排一下?

6fd3446e854c8a73dd1ab0ebd811ac53.gif

f95bac805576ab2a7453f7a7bddd1676.gif

6d725b6d3cadf6535f2b7cfcff9119eb.gif

36f69c29b9b999c82e97487cdb318560.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值