python3 sleep_python3 time.sleep()函数解释 – Python3教程

上一章Python教程请查看:python3时间time模块

sleep()函数在给定的秒数内挂起(等待)当前线程的执行。

Python有一个名为time的模块,它提供了几个有用的函数来处理与时间相关的任务。其中一个流行的函数是sleep()。

函数的作用是:在给定的秒数内挂起当前线程的执行。

示例1:Python

sleep()

import time

print("立即打印")

time.sleep(2.4)

print("2.4秒后打印")

下面是这个程序的工作原理:

“立即打印”被打印出来

暂停(延迟)执行2.4秒。

打印“2.4秒后打印”。

从上面的例子可以看出,sleep()采用浮点数作为参数。

在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 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()

上面的程序有两个线程,我们已经使用time.sleep(0.5)和time.sleep(0.75)分别将这两个线程的执行挂起0.5秒和0.7秒。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值