亚洲区国产区激情区无码区,国产成人mv视频在线观看,国产A毛片AAAAAA,亚洲精品国产首次亮相在线

Python 基礎(chǔ)教程

Python 流程控制

Python 函數(shù)

Python 數(shù)據(jù)類(lèi)型

Python 文件操作

Python 對(duì)象和類(lèi)

Python 日期和時(shí)間

Python 高級(jí)知識(shí)

Python 參考手冊(cè)

Python sleep()

sleep()函數(shù)在給定的秒數(shù)內(nèi)掛起(等待)當(dāng)前線程的執(zhí)行。

Python有一個(gè)名為time的模塊,該模塊提供了一些有用的功能來(lái)處理與時(shí)間有關(guān)的任務(wù)。其中一種常用的函數(shù)是sleep()。

sleep()函數(shù)將當(dāng)前線程的執(zhí)行暫停給定的秒數(shù)。

示例1:Python sleep()

import time

print("立即打印")
time.sleep(2.4)
print("2.4秒后打印")

該程序的工作原理如下:

  • "立即打印" 被輸出

  • 暫停(延遲)執(zhí)行2.4秒后。

  • 打印輸出"2.4秒后打印" 。

從上面的示例中可以看到,sleep()以浮點(diǎn)數(shù)作為參數(shù)。

在Python 3.5之前,實(shí)際的暫停時(shí)間可能小于為time()函數(shù)指定的參數(shù)。

從Python 3.5開(kāi)始,暫停時(shí)間將至少為指定的秒數(shù)。

示例2:Python創(chuàng)建數(shù)字時(shí)鐘

import time

while True:
  localtime = time.localtime()
  result = time.strftime("%I:%M:%S %p", localtime)
  print(result)
  time.sleep(1)

在上面的程序中,我們計(jì)算并打印了無(wú)限while循環(huán)內(nèi)的當(dāng)前本地時(shí)間  。然后,程序等待1秒鐘。同樣,將計(jì)算并打印當(dāng)前的本地時(shí)間。這個(gè)過(guò)程繼續(xù)進(jìn)行。

當(dāng)您運(yùn)行程序時(shí),輸出將類(lèi)似于:

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()多線程程序之前,讓我們談?wù)勥M(jìn)程和線程。

計(jì)算機(jī)程序是指令的集合。進(jìn)程就是這些指令的執(zhí)行。

線程是進(jìn)程的子集。一個(gè)進(jìn)程可以具有一個(gè)或多個(gè)線程。

示例3:Python多線程

本文上面的所有程序都是單線程程序。這是一個(gè)多線程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()

當(dāng)您運(yùn)行程序時(shí),輸出將類(lèi)似于:

Hello
Hello
Hi
Hello
Hi
Hi

上面的程序有兩個(gè)線程t1t2。這些線程使用t1.start()和t2.start()語(yǔ)句運(yùn)行。

請(qǐng)注意,t1t2同時(shí)運(yùn)行,您可能會(huì)獲得不同的輸出。

多線程程序中的time.sleep()

sleep()函數(shù)將當(dāng)前線程的執(zhí)行暫停給定的秒數(shù)。

如果是單線程程序,sleep()會(huì)中止線程和進(jìn)程的執(zhí)行。 但是,該函數(shù)在多線程程序中掛起線程而不是整個(gè)進(jìn)程。

示例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()

上面的程序有兩個(gè)線程。我們已經(jīng)使用了這兩個(gè)線程time.sleep(0.5)和time.sleep(0.75)其暫停執(zhí)行的時(shí)間分別為0.5秒和0.7秒。