新知一下
海量新知
6 3 0 4 2 6 0

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

小詹学Python | 左手Python,右手AI。 2022/01/26 13:18

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



更多“Python”相关内容

更多“Python”相关内容

新知精选

更多新知精选