안녕하세요 이번 포스팅은 파이썬 sleep 함수 사용법 예제코드 대해서 작성하도록 하겠습니다.
파이썬 코드 작성하실 때 어떤 작업을 할 때 중간에 시간의 딜레이를 주거나 저처럼 코드를 확인하고 싶을 때 시간적인 딜레이를 주는데 유용한 함수가 바로 sleep 함수입니다.
제가 설명 드린 파이썬 sleep 함수 사용법 활용예제 참조하셔서 코드 작성하는데 sleep 함수 꼭 이용해 보시는 걸 추천 드립니다.
목차
sleep 함수
1) sleep 함수의 기본 개념
sleep 함수는 파이썬의 기본 라이브러리 중 하나인 time 모듈에 속해 있습니다.
sleep 함수는, 이름에서도 알 수 있듯이, 주어진 시간 동안 프로그램의 실행을 ‘잠재우는’ 역할을 합니다.
프로그램이 실행 중일 때 sleep 함수를 만나게 되면, 해당 함수에 지정된 시간만큼 프로그램의 실행을 일시 중지하는 역할을 하는 함수입니다.

2) 왜 sleep 함수가 필요할까?
여러분이 코드를 작성하다 보면, 특정 시간 동안 프로그램을 대기 상태로 두어야 하는 상황이 발생합니다.
예를 들면, 사용자의 입력을 기다리는 경우, 네트워크 통신 중 데이터를 기다리는 경우, 혹은 특정 조건이 충족될 때까지 기다려야 하는 경우 등이 있습니다.
이런 상황에서 sleep 함수는 매우 유용하게 활용됩니다.
개인적으로 입력한 코드가 잘 돌아가는지 하나 하나 확인할 때 운영의 미로 사용하는 경우도 있습니다.
특히 웹상에서는 위치가 항상 달라질 수 있기 때문에 코드 하나하나 실행을 하고 딜레이를 주면서 위치를 확인하기도 합니다.
3) sleep 함수의 동작 원리
sleep 함수는 CPU의 작업을 정지시키는 것이 아닙니다.
실제로는 CPU는 계속해서 작동하고 있지만, sleep 함수가 호출된 스레드나 프로세스는 일시적으로 대기 상태가 됩니다.
지정된 시간이 지나면, 해당 스레드나 프로세스는 다시 활성화되어 이후의 코드를 실행합니다.
sleep 함수 사용법
‘sleep’ 함수를 사용하려면 먼저 ‘time’ 모듈을 임포트해야 합니다.
‘sleep’ 함수는 인자로 주어진 시간(초 단위) 동안 프로그램 실행을 일시 중단합니다.
import time
print("시작")
time.sleep(3) # 3초 동안 프로그램을 일시 중단
print("3초 후")
이 코드를 실행하면 “시작”을 출력하고, 3초 동안 대기한 후 “3초 후”를 출력합니다.

2) 미리 정의된 시간 동안 대기하기
변수를 사용하여 특정 시간 동안 대기하도록 설정할 수도 있습니다.
import time
wait_time = 5
print(f"{wait_time}초 동안 대기합니다.")
time.sleep(wait_time)
print("대기가 끝났습니다.")
3)반복문과 함께 사용하기
‘sleep’ 함수는 반복문과 함께 사용하여 주기적으로 특정 작업을 수행하는데 활용할 수 있습니다.
import time
for i in range(3):
print(f"{i+1}번째 반복")
time.sleep(2) # 2초마다 출력
위의 코드는 2초 간격으로 3번 “x번째 반복”을 출력합니다.
4) 실수 값으로 대기 시간 설정하기
‘sleep’ 함수는 실수 값을 인자로 받아, 소수점 아래까지의 정밀한 대기 시간을 설정할 수 있습니다.
import time
print("시작")
time.sleep(2.5) # 2.5초 동안 대기
print("2.5초 후")
이렇게 ‘sleep’ 함수를 통해 프로그램의 실행을 다양한 방법으로 제어할 수 있습니다.
프로그램의 흐름을 관리하거나 특정 시간 동안 대기하는 기능을 필요로 할 때 매우 유용하게 사용됩니다.
sleep 함수 응용 예제
1) 사용자에게 입력 대기 시간 주기
사용자가 특정 정보를 입력할 때까지 일정 시간을 대기하게 만드는 예제입니다.
import time
print("5초 안에 당신의 이름을 입력해주세요.")
time.sleep(5)
print("시간이 지났습니다!")
사용자에게 5초 안에 이름을 입력하도록 안내하고, 시간이 지나면 알림 메시지를 출력합니다.
2) 프로그램 시작 후 일정 시간 후 작업 시작하기
프로그램이 시작되고 나서 특정 시간이 지난 후에 작업을 시작하는 예제입니다.
import time
print("프로그램을 시작합니다.")
time.sleep(3)
print("3초 후 작업을 시작합니다.")
프로그램 시작 메시지를 출력한 후, 3초 동안 대기한 뒤에 작업 시작 메시지를 출력합니다.
3) 시간 간격을 두고 리스트의 항목 출력하기
리스트의 항목을 시간 간격을 두고 순차적으로 출력하는 예제입니다.
import time
items = ["사과", "바나나", "포도", "딸기"]
for item in items:
print(item)
time.sleep(2)
리스트의 각 항목을 2초 간격으로 출력합니다.
4) 타이머 기능 구현하기
‘sleep’ 함수를 사용하여 간단한 타이머 기능을 구현하는 예제입니다.
import time
def timer(seconds):
while seconds:
mins, secs = divmod(seconds, 60)
timeformat = '{:02d}:{:02d}'.format(mins, secs)
print(timeformat, end='\r')
time.sleep(1)
seconds -= 1
print("타이머가 종료되었습니다!")
timer(120) # 2분 타이머
타이머 함수는 주어진 초 단위의 시간 동안 1초 간격으로 현재 남은 시간을 출력하고, 시간이 끝나면 알림 메시지를 출력합니다.

sleep 함수와 유사한 기능을 가진 함수들
파이썬에는 ‘sleep’ 함수 외에도 프로그램의 실행을 일시 중지시키거나, 시간과 관련된 다양한 기능을 제공하는 함수와 모듈들이 있습니다.
1) time 모듈의 ‘monotonic’ 함수
‘monotonic’ 함수는 시스템의 시계 변경에 영향을 받지 않는, 항상 증가하는 시간 값을 반환합니다.
‘sleep’ 함수와 함께 사용하여 정확한 시간 간격을 확보할 때 사용됩니다.
import time
start = time.monotonic()
time.sleep(5)
end = time.monotonic()
elapsed_time = end - start
print(f"경과 시간: {elapsed_time:.2f}초")
2) time 모듈의 ‘perf_counter’ 함수
이 함수는 고정된 시작 시간을 기준으로 경과된 시간을 반환합니다.
주로 코드의 실행 시간을 측정할 때 사용됩니다.
import time
start = time.perf_counter()
# 실행할 코드
time.sleep(3)
end = time.perf_counter()
elapsed_time = end - start
print(f"코드 실행 시간: {elapsed_time:.2f}초")
3) ‘sched’ 모듈
‘sched’ 모듈은 일정 시간 간격으로 특정 작업을 예약하고 실행하는 기능을 제공합니다.
이 모듈은 ‘sleep’ 함수보다 더 복잡한 스케줄링 작업에 사용됩니다.
import sched
import time
s = sched.scheduler(time.time, time.sleep)
def print_time():
print("현재 시간:", time.time())
# 5초 후에 print_time 함수 실행 예약
s.enter(5, 1, print_time, ())
s.run()
4) ‘select’ 모듈의 ‘select’ 함수와 ‘poll’ 함수
이들 함수는 파일, 소켓 등의 I/O 연산의 준비 상태를 검사하고, 준비가 되지 않았을 경우 일정 시간 동안 대기하는 기능을 제공합니다.
‘sleep’ 함수와는 다르게 특정 이벤트를 기다리는 용도로 사용됩니다.
이 외에도 파이썬에서는 시간과 대기, 스케줄링에 관련된 다양한 함수와 모듈들을 제공하고 있습니다.
각 함수나 모듈의 공식 문서를 참고하여 자세한 사용 방법과 예제를 확인할 수 있습니다.
결론
여기까지 작성하도록 하겠습니다. 지금까지 파이썬 sleep 함수 사용법 예제코드 대해서 포스팅을 작성하였습니다.
코딩을 할 때에는 눈으로 보는 것보다 직접 구현을 해봐야 실제적으로 실력이 늘어가는 거 같습니다.
저도 지금 하나 하나 쳐보면서 공부하고 있는데, 쉽지는 않지만 그래도 나중에 남는 게 있을 거라고 판단이 되어 계속하려고 합니다.
그럼 제 포스팅을 통해서 조금이나마 파이썬 공부하시는데 도움이 되셨으면 합니다.
감사합니다.









