文本介绍三种字符串输出方式:f字符串;format()方法;%的形式。
f-字符串
f-字符串需要在字符串前加上f
或者F
的前缀。f-字符串允许在字符串内的大括号{}
中写表达式进行替换,并可在冒号后写入格式说明符来控制输出格式。
print(f'The value of pi is approximately {math.pi:6.3f}.')
冒号:
后的整数表示字符宽度(可以省略),点.
后的数字表示小数位数,f
表示浮点数。
另外的修饰器可以把值进行转化。!r
表示调用repr()
,!s
表示调用str()
,!a
表示调用ascii()
。
print(f'My hovercraft is full of {animals!r}.')
如果要在字符串中写入大括号,则需要使用
{{
表示{
,}}
表示}
。
更详细的内容可以参考python文档。
format()方法
还可以使用.format()
方法,如
'name: {}, age: {}!'.format('Alice', '16')
format()
方法中的参数用于替换字符串中的{}
,并且位置上一一对应。字符串大括号内也可写入数字,表示替换.format()
的第几个参数。
'name: {1}, age: {0}!'.format('16', 'Alice')
还可以使用关键字的形式。
'name: {name}, age: {age}!'.format(age='16', name='Alice')
位置序号和关键字的形式可以混合使用。
还可以使用字典的形式。
num = {'one': 1, 'two': 2}
'one: {0[one]:d}, two: {0[two]:d}'.format(num))
# 或者
'one: {one:d}, two: {two:d}'.format(**num))
更详细的内容可以参考python文档。
%形式
还有一种使用%
字符串格式化操作符的形式,这种形式类似于C语言。在字符串中使用%
控制格式,字符串外写上输出的变量名,如果有多个变量,则使用元组的形式。
print('%s has %03d quote types.' % ('python', 3))
print('%(language)s has %(number)03d quote types.' % {'language': "Python", "number": 2})
更详细的内容查看文档。