鱼C论坛

 找回密码
 立即注册
查看: 225|回复: 3

[已解决]print(f"一共耗费了 {(stop - start):2f} 秒")语句中的:2f是啥意思?

[复制链接]
发表于 2024-7-30 14:57:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
import time

def time_master(func):
    def call_func():
        print("开始运行程序...")
        start = time.time()
        func()
        stop = time.time()
        print("结束程序运行")
        print(f"一共耗费了 {(stop - start):2f} 秒")
    return call_func

@time_master  # 语法糖
def myfunc():
    time.sleep(2)
    print("I love FishC.")

myfunc()

------------------------------------------------------------------------------------------------------------
代码如上,我的问题是:print(f"一共耗费了 {(stop - start):2f} 秒")语句中的:2f是啥意思?
最佳答案
2024-7-30 15:16:52
格式化字符串中 '{:.2f}' 表示保留两位小数

而 '{:2f}' 中的 2 并不表示保留几位小数,它表示如果替换成字符串的部分如果长度小于 2 ,在前面补空格直到长度为 2 。此时 f 默认保留 6 位小数。例如我们修改代码为 print(f"一共耗费了 {(stop - start):10f} 秒"),输出(用*表示替代产生的空格以便更清楚)
开始运行程序...
I love FishC.
结束程序运行
一共耗费了 **2.005115 秒

如果你要保留两位小数,请使用
print(f"一共耗费了 {(stop - start):.2f} 秒")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-7-30 14:59:11 From FishC Mobile | 显示全部楼层
保留两位小数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-7-30 15:16:52 | 显示全部楼层    本楼为最佳答案   
格式化字符串中 '{:.2f}' 表示保留两位小数

而 '{:2f}' 中的 2 并不表示保留几位小数,它表示如果替换成字符串的部分如果长度小于 2 ,在前面补空格直到长度为 2 。此时 f 默认保留 6 位小数。例如我们修改代码为 print(f"一共耗费了 {(stop - start):10f} 秒"),输出(用*表示替代产生的空格以便更清楚)
开始运行程序...
I love FishC.
结束程序运行
一共耗费了 **2.005115 秒

如果你要保留两位小数,请使用
print(f"一共耗费了 {(stop - start):.2f} 秒")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-7-30 18:23:53 | 显示全部楼层
还可以试试format函数
print("{:.2f}".format(stop-start))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-16 00:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表