新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
time.sleep() 函数命名来源于英文单词time(时间)和sleep(睡眠)。
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:申请域名、网站空间、营销软件、网站建设、通城网站维护、网站推广。
time 是python带的非内置库,使用时需要import,主要用于处理和时间相关的操作。
time.sleep用于给定时间内挂起(等待)当前线程的执行。
time.sleep() 函数的例子:
可以注释掉time.sleep(2)再运行一次对比一下
可以看到虽然都是打印出一样的结果,但time.sleep()加入了等待时间
这里还要解释一下python中线程与进程的区别。
举个例子,厨房做菜看成是一个进程,那么这个进程下面就可能有多个人或一个人(cpu基本执行单元,即线程)来执行,多个人可以分别洗菜,刷碗,摆盘等等同时作业,他们又是共享这个厨房的资源的。每个人存在一定的资源竞争关系,比如炉火只有1个。
这里time.sleep是针对线程执行的,也就是其中一个人去sleep睡觉了,不影响其他人的继续工作。
参数
该函数没有返回值。
结果类似如下:
可以看到秒数相差了5
无
time.sleep()常用于推迟执行的场景
在python中,与时间相关的模块有:time,datetime以及calendar
对基础运行环境有疑问的,推荐参考: python函数深入浅出 0.基础篇
python中的时间模块主要有time, datetime。
I, time模块
time模块中包含了四种时间格式:
float格式,即给定时间相对于epoch增加的秒数
tuple格式,一个九元组 (tm_year, tm_mon, tm_mday, tm_hour, tm_min, tm_sec, tm_wday, tm_yday, tm_isdst)
string格式,'Mon Feb 6 15:00:06 2012'
format格式,以指定的格式生成的时间
针对这几种时间格式,time模块提供了函数在格式之间相互转换。
asctime(tuple) -string
ctime(float) -string
gmtime(float) -tuple
localtime(float) -tuple
mktime(tuple) -float
strftime(format, tuple) -format string
strptime(formatstring, format) -tuple
time() - float
上述函数中,除了time()函数直接返回当前时间相对于epoch的秒数外,其他函数都要求有时间的输入,如果没有输入,则默认使用当前时间。
另外,strftime和strptime中的format使用下面的格式:
%a 英文星期简写
%A 英文星期的完全
%b 英文月份的简写
%B 英文月份的完全
%c 显示本地日期时间
%d 日期,取1-31
%H 小时, 0-23
%I 小时, 0-12
%m 月, 01 -12
%M 分钟,1-59
%j 年中当天的天数
%w 显示今天是星期几
%W 第几周
%x 当天日期
%X 本地的当天时间
%y 年份 00-99间
%Y 年份的完整拼写
%S 秒(00-59)
除了上述的时间转换函数之外,模块还提供了下面的函数:
clock() 返回进程的创建时间,以秒计数的float
sleep(float) sleep一段时间,以秒计数
tzset() 更改时区
II, datetime
datetime模块定义了下面这几个类:
datetime.date:表示日期的类。常用的属性有year, month, day;datetime.time:表示时间的类。常用的属性有hour, minute, second, microsecond;datetime.datetime:表示日期时间。datetime.timedelta:表示时间间隔,即两个时间点之间的长度。datetime.tzinfo:与时区有关的相关信息。(这里不详细充分讨论该类,感兴趣的童鞋可以参考python手册)
注 :上面这些类型的对象都是不可变(immutable)的。
下面详细介绍这些类的使用方式。
date类
date类表示一个日期。日期由年、月、日组成(地球人都知道~~)。date类的构造函数如下:
class datetime.date(year, month, day):参数的意义就不多作解释了,只是有几点要注意一下:
year的范围是[MINYEAR, MAXYEAR],即[1, 9999];month的范围是[1, 12]。(月份是从1开始的,不是从0开始的~_~);day的最大值根据给定的year, month参数来决定。例如闰年2月份有29天;
date类定义了一些常用的类方法与类属性,方便我们操作:
date.max、date.min:date对象所能表示的最大、最小日期;date.resolution:date对象表示日期的最小单位。这里是天。date.today():返回一个表示当前本地日期的date对象;date.fromtimestamp(timestamp):根据给定的时间戮,返回一个date对象;datetime.fromordinal(ordinal):将Gregorian日历时间转换为date对象;(Gregorian Calendar :一种日历表示方法,类似于我国的农历,西方国家使用比较多,此处不详细展开讨论。)
time()函数可以获取当前时间戳;ctime()函数可以以一种易读的方式获取系统当前时间;gmtime()函数可获取当前0时区的struct_time格式的时间;localtime()函数可获取当前地区的struct_time格式的时间。
time模块
time这个模块提供各种与时间相关的函数。相关功能,可以参见datetime和calendat模块。
此模块并非所有平台提供所有功能,因平台而异。
以下是对一些术语和惯例的解释
初始时间因平台而异。对于Unix平台,初始时间是1970,01,01,00:00:00(UTC)。查看每个操作平台的初始时间可以使用time.gmtime(0)函数。
在所有POSIX平台上,从初始时间以来的秒数都不包括闰秒
该模块中的函数可能不处理初始时间以前和遥远未来的日期和时间,未来的分界点对于32位操作系统是2038年。
UTC是协调世界时(以前称为格林尼治标准时间,GMT)。缩写UTC不是一个错误,而是英语和法语之间的妥协。
DST是夏令时,在一年中的某些时候,时区通常会调整一个小时。DST规则是神奇的(由当地法律决定),每年都在变化。
各种实时函数的精度可能低于表示其值或参数的单位所建议的精度。
推荐学习《python教程》