본문 바로가기
카테고리 없음

파이썬 시간(time) 다루기 - 간단한 시계 만들기

by python note 2025. 5. 14.
파이썬 시간(time) 다루기 - 간단한 시계 만들기
파이썬 시간(time) 다루기 - 간단한 시계 만들기

파이썬 시간(time) 다루기 - 간단한 시계 만들기

컴퓨터 프로그램은 단순히 계산만 하는 것이 아니라, '시간'이라는 개념을 이해하고 활용할 수 있어야 합니다. 예를 들어 파일이 저장된 시간을 기록하거나, 특정 시간마다 작업을 수행하거나, 혹은 지금처럼 '시계'를 만드는 것에도 시간이 필요합니다.

이번 강좌에서는 파이썬의 time 모듈을 사용하여 현재 시간을 얻는 방법, 시간을 사람이 읽기 쉬운 형태로 바꾸는 방법, 그리고 프로그램의 실행을 잠시 멈추는 방법에 대해 배워봅니다. 이 지식을 활용하면 간단하게 시간을 출력하는 '나만의 시계'를 만드는 기본 원리를 이해할 수 있게 됩니다.

파이썬에서 시간을 다루는 time 모듈

파이썬에서 시간과 관련된 기능을 사용하려면 time 모듈을 가져와야 합니다. 모듈은 파이썬 코드를 모아놓은 '부품 상자'와 같습니다. time 모듈 안에는 시간을 다루는 데 필요한 여러 가지 도구(함수)들이 들어 있습니다. time 모듈을 사용하려면 코드 맨 위에 import time 이라는 한 줄을 추가해야 합니다. 마치 필요한 도구를 사용하기 위해 도구 상자를 가져오는 것과 같습니다.

실습 1: 현재 시간을 초 단위로 얻기 (time.time())

time.time() 함수는 현재 시간을 '기준 시점(epoch)'으로부터 경과된 '초' 단위로 알려줍니다. 여기서 기준 시점은 보통 1970년 1월 1일 0시 0분 0초(UTC)를 의미합니다. 이 함수가 반환하는 값은 사람이 바로 읽기에는 조금 어렵지만, 컴퓨터 내부에서 시간을 계산하거나 비교할 때 유용하게 사용됩니다.

Python
# time 모듈 가져오기 import time # 현재 시간을 초 단위로 얻기 current_time_seconds = time.time() # 결과를 화면에 출력하기 print("현재 시간 (초):", current_time_seconds)

위 코드를 실행하면 다음과 비슷한 결과가 나타납니다. 숫자는 코드를 실행하는 시점에 따라 달라집니다.

출력 결과
현재 시간 (초): 1678886400.1234567 # 실행 시점에 따라 다른 숫자가 출력됩니다.

실습 2: 현재 시간을 사람이 읽기 쉬운 형태로 얻기 (time.ctime())

time.time() 함수로 얻은 초 단위 시간은 컴퓨터에게는 편하지만 우리 눈에는 복잡합니다. time.ctime() 함수는 현재 시간을 요일, 월, 일, 시간, 년도 형식으로 보기 좋게 바꿔서 문자열(글자 덩어리)로 반환해 줍니다. 이 함수를 사용하면 현재 시간을 달력이나 시계에서 보는 것처럼 쉽게 확인할 수 있습니다.

Python
# time 모듈 가져오기 (이미 가져왔다면 생략 가능) import time # 현재 시간을 보기 좋은 형태로 얻기 current_time_readable = time.ctime() # 결과를 화면에 출력하기 print("현재 시간 (보기 좋게):", current_time_readable)

위 코드를 실행하면 다음과 비슷한 결과가 화면에 나타납니다. 이것이 우리가 흔히 보는 날짜와 시간 형식입니다.

출력 결과
현재 시간 (보기 좋게): Mon Oct 26 10:00:00 2023 # 실행 시점과 지역에 따라 다른 날짜/시간이 출력됩니다.

실습 3: 프로그램 잠시 멈추고 간단 시계 원리 살펴보기 (time.sleep())

시계는 1초마다 시간이 바뀌면서 표시되어야 합니다. 컴퓨터 프로그램이 계속 시간을 보여주기만 하면 너무 빠르게 지나가서 볼 수 없겠죠? 이럴 때 time.sleep() 함수를 사용하여 프로그램의 실행을 원하는 시간(초)만큼 멈출 수 있습니다. time.sleep(1)은 프로그램을 1초 동안 멈춥니다.

time.sleep() 함수와 반복문(while True처럼 무한히 반복하는 문법)을 함께 사용하면 간단한 시계처럼 작동하는 프로그램을 만들 수 있습니다. 현재 시간을 출력하고, 1초 기다리고, 다시 현재 시간을 출력하는 과정을 반복하면 됩니다.

Python
# time 모듈 가져오기 import time import os # 화면을 지우기 위한 모듈 (선택 사항) # 무한 반복 while True: # 화면 지우기 (터미널 환경에서만 작동, 주석 처리해도 무방) os.system('cls' if os.name == 'nt' else 'clear') # 현재 시간을 보기 좋은 형태로 얻기 current_time = time.ctime() # 시간 출력 print("현재 시간:", current_time) # 1초 동안 프로그램 멈추기 time.sleep(1)

위 코드를 실행하면 터미널 화면에 현재 시간이 1초마다 업데이트되는 것을 볼 수 있습니다. 이 코드는 while True 때문에 계속 실행되므로, 멈추려면 보통 키보드의 Ctrl + C를 눌러야 합니다.

중요:

time.time()은 초 단위 숫자를, time.ctime()은 사람이 읽기 쉬운 문자열을 반환합니다. 두 함수의 반환 타입이 다릅니다.

주의:

time.sleep() 함수는 해당 시간 동안 프로그램의 모든 작업을 중단시킵니다. 복잡한 프로그램에서는 다른 방식의 시간 처리가 필요할 수 있습니다. 또한, 터미널 환경에 따라 os.system('cls') 또는 'clear' 명령이 작동하지 않거나 화면 깜빡임이 발생할 수 있습니다.

마무리 요약

이번 강좌에서는 파이썬의 time 모듈을 사용하여 현재 시간을 얻고, 읽기 쉽게 만들며, 프로그램 실행을 잠시 멈추는 방법을 배웠습니다. time.time(), time.ctime(), time.sleep() 함수를 통해 시간과 상호작용하는 기본적인 방법을 익혔으며, 이를 활용하여 간단한 시계의 원리를 구현해보았습니다. 시간을 다루는 것은 실제 프로그램을 만들 때 매우 중요하므로, 오늘 배운 내용을 꼭 복습해보세요.

핵심 : 파이썬에서 시간을 다루려면 import time을 합니다. time.time()은 초를, time.ctime()은 보기 좋은 시간을 알려줍니다. time.sleep(초)는 해당 시간만큼 프로그램을 멈춥니다.

이번 강좌 내용 중 궁금한 점이 있다면 댓글로 질문해주세요.

다음 강의에서는 파이썬의 datetime 모듈과 같이 시간을 더 다양하고 편리하게 다루는 방법을 알아보겠습니다.