XX学Python 发表于 2024-7-30 14:57:04

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

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是啥意思?

wp231957 发表于 2024-7-30 14:59:11

保留两位小数

smallwh 发表于 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} 秒")

三体人的智子 发表于 2024-7-30 18:23:53

还可以试试format函数{:10_256:}
print("{:.2f}".format(stop-start))
页: [1]
查看完整版本: print(f"一共耗费了 {(stop - start):2f} 秒")语句中的:2f是啥意思?