Python中str的format()方法

字符串中的str.format()方法进行字符串格式化

1.1 返回一个新的字符串,str中的替换字段被格式化后输出

In [1]: "{0},{1}".format("hello","world")

Out[1]: 'hello,world'

In [2]: "{{0}},{1}".format("hello","world")

Out[2]: '{0},world'



In [3]: "{{{0}}},{1}".format("hello","world")

Out[3]: '{hello},world'

1.2 字符串和数字进行连接时,会出现TypeError异常,但是format()可以

In [4]: "{0},{1}".format("hello",12)

Out[4]: 'hello,12'

1.3 进行字符串连接。通常用join()方法

In [5]: s="{0},{1}"

In [6]: s=s.format("hello","python")

In [7]: s

Out[7]: 'hello,python'

使用字段名

1.4 关键字参数

In [8]: "{name},{age}".format(name="ling",age=12)

Out[8]: 'ling,12'

在参数列表中,关键字参数总是在位置参数之后

In [10]: "{name}:{0}".format(12,name="ling")

Out[10]: 'ling:12'

1.5 参数是list

In [11]: list1=[12,"name","age"]

In [12]: list2=[66,67,68]

In [13]: "{0[2]},{1[2]}".format(list1,list2)

Out[13]: 'age,68'

1.6 参数是dict

In [14]: dict={"name":"lingling","age":12}

In [15]: "{0[age]},{0[name]}".format(dict)

Out[15]: '12,lingling'

1.7 存取属性

In [16]: import math



In [17]: "{0.pi}".format(math)

Out[17]: '3.141592653589793'

总结:通过字段名语法,可以传递引用给str.format()方法的位置参数与关键字参数。如果参数是集合数据类型,例如列表或字典,或参数

还包含一些属性,那么可以使用[]或.表示法进行存取所需的部分

1.8  从Python3.1开始,忽略字段名成为可能,这种情况下,Python会自动进行处理(从0开始)

In [19]: "{},{},{}".format("name","age","sex")

Out[19]: 'name,age,sex'

1.9 通过locals函数【该函数会返回一个字典,字典的键是局部变量名,字典的值则是对变量名的引用。】映射拆分操作符为**,可应用

于映射来产生一个适合于传递函数的键值列表。

name = "lingling"

age = 12

str = "age is {age},name is {name}".format(**locals())

print(str)

# age is 12,name is lingling

将字典拆分并提供给str.format()方法时,允许使用字典的键作为字段名。这使得字符串格式化更易于理解,因为不需要依赖于参数的顺序。

但是,如果有其他参数,则映射拆分必须放最后面

d={"name":"lingling","age":12}

d1={"sex":0}

str="{0},{name},,{sex},{age}".format(1,**d,**d1)

print(str)

# 1,lingling,,0,12

 

通常不用多个字典,因为可以合并,如果d,d1中包含同样的key,那么就会报错。即使这个key不用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值