Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 34 additions & 0 deletions Week06/timer_ayberk_baycin.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
import time

class Timer:
"""
Bir kod bloğunun çalışma süresini ölçen Context Manager sınıfı.
"""
def __init__(self):
# Public öznitelikleri (attributes) tanımla
self.start_time = None
self.end_time = None

def __enter__(self):
# 'with' bloğuna girildiğinde çalışır
self.start_time = time.perf_counter()
return self

def __exit__(self, exc_type, exc_val, exc_tb):
# 'with' bloğundan çıkıldığında çalışır
self.end_time = time.perf_counter()

@property
def elapsed_time(self):
# Toplam süreyi hesaplamak istersen kullanışlı bir ekleme
if self.start_time and self.end_time:
return self.end_time - self.start_time
return None

# Örnek Kullanım:
# with Timer() as t:
# # Buraya ölçmek istediğin kodları yaz
# time.sleep(1)
#
# print(f"Başlangıç: {t.start_time}")
# print(f"Bitiş: {t.end_time}")