Python格式化字符串的3种方法
1. %格式化字符串
In : name = 'World'
In : id = '10'
In : 'Hello %s,id=%s' %(name,id)
Out: 'Hello World,id=10'
这里用的**%s表示格式化成字符串**,另外常用的是**%d(十进制整数)、%f(浮点数)**。
另外也支持使用字典的形式:
In : 'Hello[%(name)s],id=%(id)s' % {'id': 10, 'name': 'World'}
Hello[World],id=10
2. str.format()格式化字符
常规用法:
In : name = 'World'
In : 'Hello {}' %(name)
Out: 'Hello World'
通过位置访问:
In : '{2}, {1}, {0}'.format('Python', 'Love', 'I')
Out: 'I, Love, Python'
通过关键字访问:
In : 'Hello {name}'.format(name='spring')
Out: 'Hello spring'
3. f-string格式化字符串
Python 3.6 版本开始出现了此新的格式化字符串,性能又优于前面两种方式。
In : name = "allan"
In : print(f'Hello {name}.')
In : print(f'Hello {name.upper()}.')
Out: Hello allan.
Out: Hello ALLAN.
In : d = {'id': 2, 'name': 'allan'}
In : print(f'User[{d["id"]}]: {d["name"]}')
Out: User[2]: allan
注意:如果低于Python 3.6,可以通过pip install future-fstrings即可,在相应的py 文件里不需要加import这个库,但是需要头部加上# coding: future_fstrings。
目前推荐使用Python 3.x版本,常用的是第二,第三种方法。