python函数深入浅出 16.time.sleep()函数详解

1.函数名及其来源

time.sleep() 函数命名来源于英文单词time(时间)和sleep(睡眠)。
time 是python带的非内置库,使用时需要import,主要用于处理和时间相关的操作。
time.sleep用于给定时间内挂起(等待)当前线程的执行。
time.sleep() 函数的例子:

import time
for i in [1,3,5,7,9]:
    time.sleep(2)
    print(str(i))

可以注释掉time.sleep(2)再运行一次对比一下

import time
for i in [1,3,5,7,9]:
    # time.sleep(2)
    print(str(i))

可以看到虽然都是打印出一样的结果,但time.sleep()加入了等待时间

这里还要解释一下python中线程与进程的区别。

  • 进程:计算机程序是指令的集合,进程是这些指令的执行,包含了进程的资源(寄存器、堆栈、上下文)。
  • 线程是进程的子集,一个进程可以有一个或多个线程。

举个例子,厨房做菜看成是一个进程,那么这个进程下面就可能有多个人或一个人(cpu基本执行单元,即线程)来执行,多个人可以分别洗菜,刷碗,摆盘等等同时作业,他们又是共享这个厨房的资源的。每个人存在一定的资源竞争关系,比如炉火只有1个。

这里time.sleep是针对线程执行的,也就是其中一个人去sleep睡觉了,不影响其他人的继续工作。

import threading   # 操作线程的库
import time
  
def print_hello():
  for i in range(4):
    time.sleep(0.5)
    print("Hello")
  
def print_hi(): 
    for i in range(4): 
      time.sleep(0.7)
      print("Hi") 
t1 = threading.Thread(target=print_hello)  
t2 = threading.Thread(target=print_hi)  
t1.start()
t2.start()

2.函数定义源码及其用法拆解

time.sleep(t)

参数

  • t -- 推迟执行的秒数。

该函数没有返回值。

import time

print ("Start : %s" % time.ctime())  # time.ctime()用于获取当前时间
time.sleep( 5 )
print ("End : %s" % time.ctime())

结果类似如下:

Start : Thu Jan  2 10:16:48 2020
End : Thu Jan  2 10:16:53 2020

可以看到秒数相差了5

3.版本差异

4.学习建议

time.sleep()常用于推迟执行的场景

在python中,与时间相关的模块有:time,datetime以及calendar

对基础运行环境有疑问的,推荐参考:python函数深入浅出 0.基础篇

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 导读: 人体的构成及其精妙,合天地之精华,吸日月之浓缩。(耍了嘴,就开始说正经的吧) 首先我们要了...
    Carro不知道阅读 635评论 0 0
  • 健身啦 三个想法: 我太怕给人添麻烦了 我怕对方太优秀被抛下 要不要努力一起靠拢未来
    rrreason阅读 177评论 0 0
  • 估价HKD 60,000,000-60,000,000 藏品出手KLX 13,101,713,004 大口,直颈...
    荒唐忆梦阅读 240评论 0 0
  • UITextView(文本视图) 父类是UIScrollView UITextField常见属性 根据字符串计算U...
    翻这个墙阅读 727评论 0 0