上一章Python教程请查看:python3时间time模块
sleep()函数在给定的秒数内挂起(等待)当前线程的执行。
Python有一个名为time的模块,它提供了几个有用的函数来处理与时间相关的任务。其中一个流行的函数是sleep()。
函数的作用是:在给定的秒数内挂起当前线程的执行。
示例1:Python
sleep()
import time
print("立即打印")
time.sleep(2.4)
print("2.4秒后打印")
下面是这个程序的工作原理:
- “立即打印”被打印出来
- 暂停(延迟)执行2.4秒。
- 打印“2.4秒后打印”。
在Python 3.5之前,实际的挂起时间可能小于time()函数指定的参数。
因为Python 3.5,所以暂停时间至少是指定的秒数。
例2:Python创建一个数字时钟
import time
while True:
localtime = time.localtime()
result = time.strftime("%I:%M:%S %p", localtime)
print(result)
time.sleep(1)
在上面的程序中,我们计算并打印了无限while循环中的当前本地时间。然后,程序等待1秒,同样,计算并打印当前的本地时间,这个过程还在继续。
当你运行程序,输出将是这样的:
02:10:50 PM
02:10:51 PM
02:10:52 PM
02:10:53 PM
02:10:54 PM
... .. ...
这里是上述程序的一个稍微修改过的更好的版本。
import time
while True:
localtime = time.localtime()
result = time.strftime("%I:%M:%S %p", localtime)
print(result, end="", flush=True)
print("\r", end="", flush=True)
time.sleep(1)
在Python中的多线程在讨论多线程程序中的sleep()之前,让我们先讨论一下进程和线程。
计算机程序是指令的集合,流程是这些指令的执行。
线程是进程的子集,一个进程可以有一个或多个线程。
例3:Python多线程
本文中的所有程序都是单线程程序,下面是一个多线程Python程序的例子。
import threading def print_hello_three_times():
for i in range(3):
print("Hello")def print_hi_three_times():
for i in range(3):
print("Hi")
t1 = threading.Thread(target=print_hello_three_times)
t2 = threading.Thread(target=print_hi_three_times)
t1.start()
t2.start()
上面的程序有两个线程t1和t2。这些线程使用t1.start()和t2.start()语句运行。
注意,t1和t2同时运行,可能会得到不同的输出。
多线程程序中的time.sleep()函数的作用是:在给定的秒数内挂起当前线程的执行。
对于单线程程序,sleep()挂起线程和进程的执行。但是,在多线程程序中,该函数挂起的是线程而不是整个进程。
例4:在多线程程序中使用sleep()
import threading
import timedef 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()
【python3 time.sleep()函数解释 – Python3教程】上面的程序有两个线程,我们已经使用time.sleep(0.5)和time.sleep(0.75)分别将这两个线程的执行挂起0.5秒和0.7秒。
推荐阅读
- python3时间time模块 – Python3教程
- python3将时间戳转为日期,将日期转为时间戳 – Python3教程
- python3获取当前时间 – Python3教程
- 如何在python3中获取当前日期和时间( – Python3教程)
- python3将字符串转为时间、日期(strptime() – Python3教程)
- python3将时间、日期转为字符串(strftime() – Python3教程)
- python3处理时间和日期(datetime模块 – Python3教程)
- python3正则表达式 – Python3教程
- python3 @property的用法 – Python3教程