python中几种格式化输出 的用法

本文介绍了Python中四种常见的格式化输出方法:f-string、str.format()、repr()和str()以及%运算符。通过实例展示了每种方法的用法和特点,包括如何在输出中插入变量、指定格式指令以及在不同场景下的适用性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

官方文档
1.若要使用格式化字符串文本,请在开始引号或三重引号之前以f或f开头的字符串。
例子:

year = 2016
event = 'Referendum'
print(f'Results of the {year} {event}')

结果:

Results of the 2016 Referendum

在这里的格式化输出可以是f或者是F开头的,另外对于需要加入输出的相关内容需要用{}括起来。
2.字符串的str.format()方法需要更多的手工操作。您仍然可以使用和标记变量将被替换的位置,并可以提供详细的格式化指令,但您还需要提供要格式化的信息。
str.format():这个是一种需要更多认为操作的格式方法,在{}中就是要替代的位置,不过需要提供相应的格式指令,比如输出类型,精度,位数等等。
例子:

yes_votes = 42_572_654
no_votes = 43_132_495
percentage = yes_votes / (yes_votes + no_votes)
print('{:-9} YES votes  {:2.2%}'.format(yes_votes, percentage))

结果如下:

 42572654 YES votes  49.67%

另外在str.format()方法中如果“{}”不指定任何的内容,就是按照顺序进行操作
例子:

 print('We are the {} who say "{}!"'.format('knights', 'Ni'))

结果:

We are the knights who say "Ni!"

当指定内容时就是按照指定的顺序进行操作的

print('{0} and {1}'.format('spam', 'eggs'))
print('{1} and {0}'.format('spam', 'eggs'))

结果:

spam and eggs
eggs and spam

结果会存在一定的差异的。
还有一些情况如下所示:
例子:`

print('This {food} is {adjective}.'.format(food='spam', adjective='absolutely horrible')

输出结果:
This spam is absolutely horrible.

print('The story of {0}, {1}, and {other}.'.format('Bill', 'Manfred',
                                                       other='Georg')

结果如下所示:

The story of Bill, Manfred, and Georg.

在{}中的内容可以是比较复杂的,多种类型的。
.format()中的内容可以是表达式等。
例子:

for x in range(1, 11):
    print('{0:2d} {1:3d} {2:4d}'.format(x, x*x, x*x*x))

结果:

1   1    1
 2   4    8
 3   9   27
 4  16   64
 5  25  125
 6  36  216
 7  49  343
 8  64  512
 9  81  729
10 100 1000

3.当您不需要花哨的输出,只需要快速显示一些用于调试的变量时,可以使用repr()或str()函数将任何值转换为字符串。
例子:

x = 10 * 3.25
y = 200 * 200
s = 'The value of x is ' + repr(x) + ', and y is ' + repr(y) + '...'
print(s)

结果:

The value of x is 32.5, and y is 40000...

直接将数值转化成字符串的形式输出
还有str()的用法

x = 10 * 3.25
y = 200 * 200
s = 'The value of x is ' + str(x) + ', and y is ' + str(y) + '...'
print(s)

结果:

The value of x is 32.5, and y is 40000...

最终的结果是一样的,知识在这里举个栗子。
4.用%也是可以格式化输出的
例子:

import math
print('The value of pi is approximately %5.3f.' % math.pi)

结果:
The value of pi is approximately 3.142.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值