如何使用Python的f-string实现数字补零操作?
使用f-string实现数字补零的方法
先看你原本用format字符串实现补零的代码:
for i in range(10): zeropad = "Value is {:03}.".format(i) print(zeropad)
运行后会输出:
Value is 000. Value is 001. ...
要想用f-string实现同样的补零效果,有两种简单方法:
方法一:沿用format的格式语法
f-string完全支持和str.format()一致的格式指定方式,直接在变量后加:03即可:
for i in range(10): print(f"Value is {i:03}.")
这样输出结果和你用format的版本完全一致。
方法二:正确使用zfill()
你之前尝试用zfill()报错,是因为zfill()是字符串对象的方法,而你直接用整数i去调用它,整数类型没有这个属性。解决办法是先把整数转换成字符串,再调用zfill():
for i in range(1, 11): sentence = f"The value is {str(i).zfill(3)}." print(sentence)
运行这段代码就能得到补零后的结果了。
内容的提问来源于stack exchange,提问作者The Witty Wizard
相关产品推荐
相关产品推荐

