本文链接:https://blog.csdn.net/u011519550/article/details/83413318
工作中碰到了time.perf_counter这个方法,网上只查到很少的信息,
中文简介如下,其实就是对官方文档的一个翻译,也没看到具体用法
time.
perf_counter
()
返回性能计数器的值(以分秒为单位),即具有最高可用分辨率的时钟,以测量短持续时间。它包括在睡眠期间和系统范围内流逝的时间。返回值的参考点未定义,因此只有连续调用结果之间的差异有效。
https://www.rddoc.com/doc/Python/3.6.0/zh/library/time/
所以自己看了看代码又写了几行代码测试下,感觉这个函数就是个计时器
-
import time
-
def func():
-
time.sleep(
1)
-
a=time.perf_counter()
#第一次调用per_counter,所以a值应该为零,但是他不是刚好为零
-
print(a)
-
print(round(a))
#把a四舍五入验证下
-
print(type(a))
#验证a是浮点数
-
time.sleep(
5)
-
b=time.perf_counter()
#sleep5秒后,b的值就应该是5
-
print(b)
-
func()
运行结果:
perf_counter还有一个特点,就是如果函数1中调用了函数2,函数2中先调用了perf_counter,那么perf_counter的第一次计数就是从函数2中的调用算起.
我有写了个函数2:
然后改写函数1,调用函数2,
-
import time
-
from per_counter2
import func2
-
def func():
-
func2()
#func2先执行了一次per_counter,所以下面代码的调用从第二次调用开始
-
time.sleep(
1)
-
a=time.perf_counter()
#因为上面func2已经调用过一次per_counter,所以a此时应该等于1,不在是0
-
print(a)
-
print(round(a))
#把a四舍五入验证下
-
print(type(a))
#验证a是浮点数
-
time.sleep(
5)
-
b=time.perf_counter()
-
print(b)
-
func()
执行结果: