BaşlayınÜcretsiz başlayın

timer() bağlam yöneticisi

Bir iş arkadaşın Instagram fotoğraflarını işleyen bir web servisi üzerinde çalışıyor. Müşteriler, servisin bir görüntüde kedi olup olmadığını tespit etmesinin çok uzun sürdüğünden şikayet ediyor; bu yüzden iş arkadaşın senden yardım istedi. Sen de, fonksiyonlarının çalışmasının ne kadar sürdüğünü ölçebilmeleri için kullanabilecekleri bir bağlam yöneticisi yazmaya karar verdin.

Bu egzersiz, kursun bir parçasıdır

Python'da Fonksiyon Yazımı

Kursa Göz Atın

Egzersiz talimatları

  • contextlib modülünden timer() fonksiyonunu bir bağlam yöneticisi gibi davranacak şekilde donatacak bir dekoratör ekle.
  • Denetimi timer() fonksiyonundan bağlam bloğuna gönder.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# Add a decorator that will make timer() a context manager
@contextlib.____
def timer():
  """Time the execution of a context block.

  Yields:
    None
  """
  start = time.time()
  # Send control back to the context block
  ____
  end = time.time()
  print('Elapsed: {:.2f}s'.format(end - start))

with timer():
  print('This should take approximately 0.25 seconds')
  time.sleep(0.25)
Kodu Düzenle ve Çalıştır