python基础语法手册format-python基础知识之格式化

格式化

%s — 字符串类型

% 是一个占位, s代表的字符串类型;

1920419-20200114210416712-1344156311.png

%d|%i — 数字类型

1920419-20200114210613429-255460146.png

以上2个都不够强大,介绍个更强大的format

格式化输出——format

提到Python中的格式化输出方法,一般来说有以下两种方式:

1920419-20200114210840646-2035195164.png

至于哪种方式好,对于我来说,用了.format()之后就再也不想用%了!!!

1920419-20200114210942594-972995753.png

一 、基本用法

1920419-20200114211118573-1582925090.png

二 、关键词定位

1920419-20200114211240623-195906349.png

三 、可变参数

既然format()是一个方法,那是不是也接受*args和**kwargs形式的传参呢,答案是肯定的。

1920419-20200114211323031-1499330788.png

四 、固定宽度

format()可以指定输出宽度为多少,当字符串长度少于设定值的时候,默认用空格填充:

1920419-20200114211520689-2086444225.png

当然除了空格,我们也可以选择其他字符来填充,譬如我想打印一条分割线,便可以选择通过-来填充:

1920419-20200114211621767-1242242764.png

五、对齐方式

format()支持左对齐,右对齐,居中,分别对应<,>,^,具体怎么使用我们看实例:

1920419-20200114212213125-826549773.png

1920419-20200114212225703-727708652.png

六、数字格式化

常用的示例如下:

取小数点后两位

num = 3.1415926

print('小数点后两位:{:.2f}'.format(num)) 结果:小数点后两位:3.14

带+/-输出

num = -3.1415926

print('带正/负符号:{:+.2f}'.format(num)) 结果:带正/负符号:-3.14

转为百分比

num = 0.34534

print('百分比:{:.2%}'.format(num)) 结果:百分比:34.53%

科学计数法

num = 12305800000

print('科学计数法:{:.2e}'.format(num)) 结果:科学计数法:1.23e+10

,分隔

num = 12305800000

print('","分隔:{:,}'.format(num)) 结果:","分隔:12,305,800,000

转为二进制

num = 15

print('二进制:{:b}'.format(num)) 结果:二进制:1111

十六进制

num = 15

print('十六进制:{:x}'.format(num)) 结果:十六进制:f

八进制

num = 15

print('八进制:{:o}'.format(num)) 结果:八进制:17

七、输出花括号

当然,如果我们想输出的{}的时候怎么办呢?python给咱们提供了方法:

1920419-20200114213216171-1387358433.png

最后的最后、花式玩法

其实结合以上这些特性,我们可以来点好玩点,譬如说自己写一个进度条:

import time

length = 1000

for i in range(1, length + 1):

percent = i / length

bar = '▉' * int(i // (length / 50))

time.sleep(0.01)

print(' 进度条:|{:<50}|{:>7.1%}'.format(bar, percent), end='')

print(' ')

效果如下:

1920419-20200114213439189-848079030.gif

转义%%

如果我们字符串中想要显示单独的%就需要用来个%%来转义,不然程序会认为那是一个占位

num = input('>>>')

s= '目前学习进度:%s%%'%num

print(s)

>>>10

目前学习进度:10%

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值