【Python】使用time.clock报错的问题

【Python】使用time.clock报错的问题

举例:使用clock记录运行时间报错

在使用北理工嵩天《Python程序设计基础》第二版学习的时候,教材参考代码出现warning,如下:

:DeprecationWarning: time.clock has been deprecated in Python 3.3 and will be removed from Python 3.8: use time.perf_counter or time.process_time instead clock()

弃用警告:时间时钟在python3.3中已被弃用,并将从python3.8:使用time.perf_countertime.process_time 而不是time.clock()

解决方法:

按照要求,将time.clock()替换为time.perf_countertime.process_time 任意一种即可

实例如下:
错误代码:
#e6.1CalPi.py
from random import random
from math import sqrt
from time import clock
DARTS = 1000
hits = 0.0
clock()		#旧版本调用time.clock是没问题的  
for i in range(1, DARTS+1):
    x, y = random(), random()
    dist = sqrt(x ** 2 + y ** 2)
    if dist <= 1.0:
        hits = hits + 1
pi = 4 * (hits/DARTS)
print("Pi值是{}.".format(pi))
print("运行时间是: {:5.5}s".format(clock()))

输出结果:

Pi值是3.236.
C:/Users/dell/PycharmProjects/e6.1CalPi/e6.1CalPi.py:7: DeprecationWarning: time.clock has been deprecated in Python 3.3 and will be removed from Python 3.8: use time.perf_counter or time.process_time instead
运行时间是: 0.071226s
clock()
C:/Users/dell/PycharmProjects/e6.1CalPi/e6.1CalPi.py:15: DeprecationWarning: time.clock has been deprecated in Python 3.3 and will be removed from Python 3.8: use time.perf_counter or time.process_time instead
print(“运行时间是: {:5.5}s”.format(clock()))
Process finished with exit code 0

修改之后
使用 time.perf_counter 或 time.process_time替代:
#e6.1CalPi.py
from random import random
from math import sqrt
from time import process_time  # 引入 time.perf_counter 用以替换clock
DARTS = 1000
hits = 0.0
process_time()             # time.perf_counter or time.process_time替代time.clock
for i in range(1, DARTS+1):
    x, y = random(), random()
    dist = sqrt(x ** 2 + y ** 2)
    if dist <= 1.0:
        hits = hits + 1
pi = 4 * (hits/DARTS)
print("Pi值是{}.".format(pi))
print("运行时间是: {:5.5}s".format(process_time()))

输出结果:

Pi值是3.128.
运行时间是: 0.10938s
Process finished with exit code 0

最后总结:

time.clock()替换为time.perf_countertime.process_time 任意一种即可

©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页