format函数2

强大的.format

记录下平时发现的能简化编程的函数、语法和格式等。

巧用.format

发现有这个语法简直如获珍宝!!!下面是一些运用举例

一、替换

A、 对应序号替换 
大括号内为索引序号,format内参数一一对应变量要替换的内容

>>>'hello{0}_s{1}_s{2}_s{3}'.format('!','A','B','C')
'hello!_sA_sB_sC'
>>> 'hello{0}_s{2}_s{1}_s{0}'.format('!','A','B','C')
'hello!_sB_sA_s!'
>>> 'hello{0}_s{2}_s{1}_s{3[0]} {3[1]}'.format('!','A','B',['C','!'])
'hello!_sB_sA_sC !'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

B、对应变量替换

>>>'hello{x}_s{y}_s{z}_s{r}'.format(x='!',y='A',z='B',r='C')
'hello!_sA_sB_sC'
  • 1
  • 2

C、默认按顺序替换

>>> 'hello{}_s{}_s{}_s{}'.format('!','A','B','C')
'hello!_sA_sB_sC'
  • 1
  • 2

二、指定格式

结合:使用 
A、指定精度 
结合f 使用

>>> '{:.3f}'.format(4.158347)
'4.158'
>>> '{:.5f}'.format(4.158347)
'4.15835'
>>> '{:.1f}'.format(4.158347)
'4.2'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

B、指定进制 
b、d、o、x分别表示二进制、十进制、八进制、十六进制

>>> '{:b}'.format(23)
'10111'
>>> '{:d}'.format(23)
'23'
>>> '{:o}'.format(23)
'27'
>>> '{:x}'.format(23)
'17'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

C、指定对齐方式 
^、<、>分别是居中、左对齐、右对齐,后面带宽度,默认用0 填充,可指定填充方式

>>> '{:^10}'.format('abc')
'   abc    '
>>> '{:<10}'.format('abc')
'abc       '
>>> '{:>10}'.format('abc')
'       abc'
>>> '{:2>10}'.format('abc')
'2222222abc'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

三、定义对象属性

class Person:  
    def __init__(self,name,age):  
        self.name,self.age = name,age  
        def __str__(self):  
            return 'This guy is {self.name},is {self.age} old'.format(self=self) 
  • 1
  • 2
  • 3
  • 4
  • 5
>>>str(Person('kzc',18))  
'This guy is kzc,is 18 old'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值