Python序列之字符串精讲

1、字符串格式化

1.1、使用format()函数格式化字符串

str.format(args)

args要填充的项,多项用逗号分隔

str  字符串模板,格式为'xxxxxx{ [index][:各种选项+格式化占位符] }xxxxxx'

1) { }里是要替换的内容,所有选项都可以不填,这时按顺序填充args中的项

2){ index }指定每个{}里用args里的哪一项,使用索引,从0开始

3){:s}指定选项时,使用:和索引隔开,即使索引省略

4) { {xxx} }  要在字符串中保留大括号的话,要用双大括号{ {}} ,表示这不是要替换内容

 

例如:

(1)通过位置来填充字符串

'abc{}'.format('efg')

'abc{1},cde{0}'.format('123','456')

'abc{0:.2f}'.format(2)   # .f表示填充浮点数,2表示保留2位小数

'abc{:.2%}'.format(0.1159) # .%表示百分数,2表示保留2位小数

foramt会把参数按位置顺序来填充到字符串中,第一个参数是0,然后1 ……

也可以不输入数字,这样也会按顺序来填充

同一个参数可以填充多次,这个是format比%先进的地方

(2)通过key来填充

obj = 'world'
name = 'python'
print('hello, {obj} ,i am {name}'.format(obj = obj,name = name))
# 输入结果:hello, world ,i am python

(3)通过列表填充

list=['world','python']
print('hello {names[0]}  i am {names[1]}'.format(names=list))
# 输出结果:hello world  i am python
print('hello {0[0]}  i am {0[1]}'.format(list))
#输出结果:hello world  i am python

(4)通过字典填充

dict={‘obj’:’world’,’name’:’python’}
print(‘hello {names[obj]} i am {names[name]}’.format(names=dict))
# hello world i am python

注意访问字典的key,不用引号的

(5)通过类的属性填充

class Names():
    obj='world'
    name='python'
print('hello {names.obj} i am {names.name}'.format(names=Names))

#输出结果hello world i am python

(6)通过魔法参数填充

args = [‘,’,’inx’]
kwargs = {‘obj’: ‘world’, ‘name’: ‘python’}
print(‘hello {obj} {} i am {name}’.format(*args, **kwargs))
# 输入结果:hello world , i am python

注意:魔法参数跟你函数中使用的性质是一样的:这里format(*args, **kwargs)) 等价于:

format(‘,’,’inx’,obj = ‘world’,name = ‘python’)

(7) 转义“{}

print('{ { hello}} { { {0}}}'.format('world')) #输出结果:{hello} {world}

跟%中%%转义%一样,format中用 { 来转义{ ,用 } 来转义 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值