웹사이트 검색

파이썬 시간 sleep()


안녕하세요 여러분, 파이썬을 잘 배우고 있기를 바랍니다. 이 튜토리얼에서는 python time sleep() 메서드에 대해 배웁니다. Python sleep 함수는 앞에서 이미 논의한 python time 모듈에 속합니다.

파이썬 시간 수면

Python time sleep 함수는 프로그램 실행에 지연을 추가하는 데 사용됩니다. python sleep 함수를 사용하여 주어진 시간(초) 동안 프로그램 실행을 정지할 수 있습니다. Python 시간 절전 기능은 실제로 전체 프로그램이 아니라 현재 스레드의 실행만 중지합니다.

Python 시간 sleep() 함수 구문

# importing time module
import time

print("Before the sleep statement")
time.sleep(5)
print("After the sleep statement")

위의 코드를 실행하면 5초 후에 두 번째 인쇄가 실행되는 것을 볼 수 있습니다. 따라서 필요에 따라 코드를 지연시킬 수 있습니다. 인수는 더 정확한 지연을 위해 부동 값일 수도 있습니다. 예를 들어 다음과 같이 0.1초인 100밀리초 동안 지연을 만들고자 합니다.

import time
time.sleep(0.100)

파이썬 수면 예제

파이썬 시간 절전 함수의 다음 예를 살펴보겠습니다.

import time
startTime = time.time()
for i in range(0,5):
   print(i)
   # making delay for 1 second
   time.sleep(1)
endTime = time.time()
elapsedTime = endTime - startTime
print("Elapsed Time = %s" % elapsedTime)

그러면 다음이 출력됩니다.

0
1
2
3
4
Elapsed Time = 5.059988975524902

경과 시간은 for 루프에서 매번 실행이 1초 동안 중단되기 때문에 5보다 큽니다. 추가 시간은 프로그램 실행 시간, 운영 체제 스레드 스케줄링 등으로 인해 발생합니다.

python sleep()의 다른 지연 시간

때로는 다른 시간(초) 동안 지연해야 할 수도 있습니다. 다음과 같이 할 수 있습니다.

import time

for i in [ .5, .1, 1, 2]:
   print("Waiting for %s" % i , end='')
   print(" seconds")
   time.sleep(i)

그러면 다음이 출력됩니다.

Waiting for 0.5 seconds
Waiting for 0.1 seconds
Waiting for 1 seconds
Waiting for 2 seconds

sleep()을 사용한 극적인 인쇄

극적인 방식으로 메시지를 인쇄해야 할 수도 있습니다. 다음과 같이 할 수 있습니다.

# importing time module
import time
message = "Hi!!! I am trying to create suspense"

for i in message:
   # printing each character of the message
   print(i)
   time.sleep(0.3)

위의 코드를 실행하면 메시지의 모든 문자를 인쇄한 후 시간이 걸리는 것을 볼 수 있습니다. 이는 극적인 것처럼 보입니다.

파이썬 스레드 수면

Python time sleep() 함수는 멀티스레딩에 매우 중요한 방법입니다. 다음은 파이썬 시간 절전 기능이 다중 스레드 프로그래밍에서만 현재 스레드의 실행을 중지한다는 것을 보여주는 간단한 예입니다.

import time
from threading import Thread


class Worker(Thread):
    def run(self):
        for x in range(0, 11):
            print(x)
            time.sleep(1)


class Waiter(Thread):
    def run(self):
        for x in range(100, 103):
            print(x)
            time.sleep(5)


print("Staring Worker Thread")
Worker().start()
print("Starting Waiter Thread")
Waiter().start()
print("Done")