您的位置:首页 > 编程语言 > Python开发

Python中str的format()方法

2017-09-06 23:50 666 查看
字符串中的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不用。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: