【Python 第61课】 计时

Python中有一个time模块,它提供了一些与时间相关的方法。利用time,可以简单地计算出程序运行的时间。对于一些比较复杂、耗时较多的程序,可以通过这种方法了解程序中哪里是效率的瓶颈,从而有针对性地进行优化。

在计算机领域有一个特殊的时间,叫做epoch,它表示的时间是1970-01-01 00:00:00 UTC。

Python中time模块的一个方法

time.time()

返回的就是从epoch到当前的秒数(不考虑闰秒)。这个值被称为unix时间戳。

于是我们可以用这个方法得到程序开始和结束所用的时间,进而算出运行的时间:

import time

starttime = time.time()

print 'start:%f' % starttime

for i in range(10):

print i

endtime = time.time()

print 'end:%f' % endtime

print 'total time:%f' % (endtime-starttime)

在程序中的不同位置调用time.time()就可以得到运行到那个地方的时间,了解不同部分消耗的时间。

有了这个方法,我们还可以在Pygame课程中的打飞机游戏里,得到每一次游戏主循环刷新的时间,计算出游戏的每秒帧数,显示在屏幕上。

顺便再说下time中的另一个很有用的方法:

time.sleep(secs)

它可以让程序暂停secs秒。例如:

import time

print 1

time.sleep(3)

print 2

在抓取网页的时候,适当让程序sleep一下,可以减少短时间内的请求,提高请求的成功率。

面向零基础初学者的编程课

每天5分钟,轻松学编程

回复『 p 』查看python课程

回复『 g 』查看pygame课程

回复『 t 』查看习题

回复『 w 』查看其他文章

本文分享自微信公众号 - Crossin的编程教室(crossincode)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2013-10-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏企鹅号快讯

使用BOOTSTRAP设计评论过滤筛选

电子商务网站的商品评论,需要设置各种评论的类别,筛选出不同种类的评论,能直观的看出商品的口碑。如何设计评论过滤筛选,我们可以一起学习一下。 目标 使用html、...

22750
来自专栏腾讯开源的专栏

【开源公告】H5、小程序自动化测试框架FAutoTest正式开源

H5以及小程序越来越多,你的自动化测试跟上了吗? ? 随着业务的发展,许多项目中H5以及小程序占比逐渐增多,因为快速建设相关的自动化来提高项目的效率和质量成为...

30110
来自专栏张善友的专栏

Java EE企业系统性能问题的原因和解决建议[也适用于.NET]

Pierre-Hugues Charbonneau(昵称是P-H)是加拿大CGI公司的高级IT顾问和系统架构师。近日他发表了题为《导致Java EE企业性能问题...

20050
来自专栏Java架构师历程

面向项目经理的Java微服务

微服务是一种用于设计复杂软件的架构解决方案,将其分解为可独立部署的小型模块化服务。它通常与传统的单一体系结构形成对比,在这种体系结构中,软件是作为一个单元构建的...

58320
来自专栏腾讯大数据可视化设计团队的专栏

遇见大数据可视化 : 那些 WOW 的数据可视化案例

如何才能让数据可视化在面向普罗大众更容易接受和理解,甚至产生WOW的感觉呢?下面我试着通过一些具体的数据可视化案例来说明。

4.6K30
来自专栏技术翻译

9个成功的微服务设计的基础知识

人体是不同系统的组合,其中大多数系统是独立的,并且作为一个整体协同工作。每个系统都有自己的特定功能。所有具有多种其他支持框架的器官构成了一个功能完备的机构。现在...

29020
来自专栏程序你好

理解现代企业集成系统架构

企业应用程序集成(EAI)是一个需要解决的复杂问题,不同的软件供应商产生了不同类型的软件产品,如ESB、应用服务器、消息代理、API网关、负载均衡器、代理服务器...

16930
来自专栏华仔的技术笔记

打包出现your account does not have permission to create iOS distribution

74860
来自专栏HBStream流媒体与音视频技术

实现输出h264直播流的rtmp服务器 flash直播服务器

  RTMP(Real Time Messaging Protocol)是常见的流媒体协议,用来传输音视频数据,结合flash,广泛用于直播、点播、聊天等应用,...

80470
来自专栏我的小碗汤

GitHub上优秀的Go开源项目

近一年来,学习和研究Go语言,断断续续的收集了一些比较优秀的开源项目,这些项目都非常不错,可以供我们学习和研究Go用,从中可以学到很多关于Go的使用、技巧以及相...

20240

扫码关注云+社区

领取腾讯云代金券