Python format格式化函数

Python从2.6版本开始引入了str.format()方法,增强了字符串格式化功能。此方法支持位置参数和关键字参数,可以不按顺序指定,并能通过字典和列表索引设置参数。此外,str.format()还能进行数字格式化,包括精度控制、符号显示、进制转换以及对齐方式等。
摘要由CSDN通过智能技术生成

Python2.6开始,新增了一种格式化字符串的函数str.format(),它增强了字符串格式化的功能。

基本语法是通过 {} : 来代替以前的 %

format函数可以接受不限个参数,位置可以不按顺序。

>>>"{} {}".format("hello","world")#不指定位置,默认按照format里面的顺序
'hello world'
>>>"{0} {1}".format("hello","world")#指认位置
'hello world'
>>>"{1}{0}{1}".format("hello","world")#指认位置,如果不加空格,就会挨在一起输出
'worldhelloworld'
>>>"{1} {0} {1}".format("hello","world")#指认位置,加空格
'world hello world'

format也可以设置参数

>>>print("姓名:{name},身高:{height}".format(name="东阳",height="180"))
姓名:东阳,身高:180

#通过字典设置参数
>>>stu={"name":"东阳","height":"180"}
>>>print("姓名:{name},身高:{height}".format(**stu))
姓名:东阳,身高:180

#通过列表索引设置参数
>>>my_list=['东阳','180']
>>>print("姓名:{0[0]},身高:{0[1]}".format(my_list))#这里的0是必须有的
姓名:东阳,身高:180

#一定得记住format是跟{}配套出现的

也可以向str.format()传入对象

class AssignValue(object):
    def __init__(self,value):
        self.value=value
my_value=AssignValue(6)
print('value为:{0.value}'.format(my_value))

输出为:
value为:6

数字格式化

数字格式输出描述
3.1415926{:.2f}3.14保留小数点后两位
3.1415926{:+.2f}+3.14带符号保留小数点后两位
-1

{:-.2f}或者

{:+.2f}

两个显示结果都为-1.00

-1.00带符号保留小数点后两位
2.71828{:.0f}3不带小数
5{:0>2d}05数字补零(填充左边,宽度为2)
5{:x<4d}5xxx数字补x(填充右边,宽度为4)
10{:x<4d}10xx数字补x(填充右边,宽度为4)
10000000{:,}10,000,000以逗号分隔的数字格式
0.25{:.2%}25.00%百分比格式(这里是保留两位小数)
1000000000{:.2e}1.00e+09指数记法
13{:>10d}        13右对齐(默认,宽度为10,这里空位用空格补齐)
13{:<10d}13        左对齐(宽度为10)
13{:^10d}    13    中间对齐(宽度为10)
11

'{:b}'.format(11)

'{:d}'.format(11)

'{:o}'.format(11)

'{:x}'.format(11)

'{:X}'.format(11)

'{:#x}'.format(11)

'{:#X}'.format(11)

'1011'

'11'

'13'

'b'

'B'

'0xb'

'0XB'

进制

^ , < , >分别是居中、左对齐、右对齐,后面带宽度, : 后面带填充的字符,只能是一个字符,不指定则默认为空格填充

+ 表示在正数前显示 + ,负数前显示 -    (空格)表示在正数前加空格

d o x 分别是二进制、十进制、八进制、十六进制。 是显示几进制,另外只有十六进制的字母可以转换大小写

另外也可以使用  {}  来转义大括号:

>>>print("{}对应的位置为{{0}}".format("东阳"))
东阳对应的位置为{0}

知识来源:

Python format 格式化函数 | 菜鸟教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值