Python’un çok sayıda fonksiyon içeren time modülü, kullanıcılara zaman işlemlerini gerçekleştirme olanağı tanımaktadır. Bu modülün temel işlevleri arasında, epoch zamanından itibaren geçen süreyi hesaplama, yerel zamanın bilgilerini verme, beklemeye alınma, zaman bilgisini dönüştürme, zaman ölçümleme vb. işlemler yer almaktadır.
Zaman yönetimi, birçok programlama dili için büyük bir önem taşımaktadır. Özellikle web sitelerinde, zaman bazlı işlemlerin yönetimi büyük bir ihtiyaç haline gelmiştir. Python time modülü ise bu konuda oldukça yararlı ve işlevsel bir araç olarak öne çıkmaktadır.
Zaman Fonksiyonları | İşlevi |
---|---|
time() | epoch zamanından itibaren geçen süreyi verir. |
localtime() | Yerel zamanın bilgilerini verir. |
strptime() | Girilen metin formatına göre zaman bilgisi döndürür. |
sleepp() | Belirtilen süre kadar programın beklemesini sağlar. |
Time modülü içinde yer alan bu fonksiyonlar, zaman ile ilgili birçok işlemi kolaylıkla gerçekleştirme imkanı sağlamaktadır. Bu fonksiyonların kullanımı, yazılımcıların zaman yönetimleri konusunda büyük bir kolaylık sağlamaktadır.
Zaman Fonksiyonları
Python’un zaman işlemleri yapabilmek için kullanılan time modülü, birbirinden farklı zaman fonksiyonlarına sahiptir. Bunlar arasında en çok kullanılanlar şunlardır:
- time(): Epoch zamanından bu yana geçen süreyi saniye cinsinden verir.
- localtime(): Bu fonksiyon yerel zamanın bilgilerini verir. Yıl, ay, gün, saat, dakika ve saniye bilgilerini içerir.
- strptime(): Bu fonksiyon, girilen bir metin formatına göre zaman bilgisi döndürür. Örneğin, ‘2022-02-02’ gibi bir tarihi %Y-%m-%d formatına dönüştürebilir.
- sleep(): Bu fonksiyon, belirtilen süre kadar programın beklemesini sağlar. Örneğin, time.sleep(5) kodu programı 5 saniye bekletir.
Bu fonksiyonlar sayesinde zamanla ilgili çeşitli işlemler gerçekleştirilebilir ve programların daha işlevsel hale getirilmesi sağlanabilir. Yine de, fonksiyonların doğru kullanımı ve gerektiği gibi kullanılması önemlidir.
time()
time() fonksiyonu, Epoch zamanından bu yana geçen süreyi saniye cinsinden verir. Epoch zamanı, 1 Ocak 1970 GMT’den bu yana geçen saniyeleri temsil eder. Bu fonksiyon sistem zamanına ve donanımına bağlı olarak farklı sonuçlar döndürebilir. Yani zamanın doğru olması için sistem saatini kullanmalısınız.
time() fonksiyonu Unix zaman damgasını kullanarak süreyi hesaplar. Unix zaman damgası, bir olayın gerçekleştiği zamanı saniye cinsinden ifade eder. Bu zaman damgası, her zaman diliminde aynıdır. Bu nedenle, 1970 yılından bu yana geçen süre her zaman aynı olarak hesaplanır.
Parametreler | Açıklama |
---|---|
Yoktur |
localtime()
Python’un time modülü, zaman işlemleri için kullanılır ve içinde pek çok fonksiyona sahiptir. Bunlardan bir tanesi de localtime() fonksiyonudur. localtime() fonksiyonu, yerel zamanın bilgilerini verir ve struct_time türünde bir nesne döndürür. Bu nesnedeki özellikler, yıl, ay, gün, saat, dakika, saniye, haftanın kaçıncı günü, yılın kaçıncı günü gibi birçok zaman bilgisini içerir.
localtime() fonksiyonunun kullanımı oldukça basittir ve tek parametre alır. Eğer parametre olarak bir zaman değeri gönderilmezse, fonksiyon sistem saatini alarak işlemlerini gerçekleştirir. Burada döndürülen struct_time nesnesi, tüm zaman bilgilerini içinde barındırdığı için, farklı işlemler için kullanılabilmekte. Örneğin, sadece saati almak için struct_time nesnesinin tm_hour özelliği kullanılabilir.
strptime()
Python’un time modülü, zaman işlemlerinin programda yapılabilmesi için kullanılan bir kütüphanedir. Bu modül içinde yer alan fonksiyonlar, zamanın ölçümü, değiştirilmesi ve formatlanması gibi birçok işlemi gerçekleştirebilmekte. Bu fonksiyonlardan biri de strptime() fonksiyonudur.
strptime() fonksiyonu, girilen metin formatına uygun olarak zaman bilgisi döndürür. Fonksiyona verilen metin, belirli bir format ile işaretlenmiş olmalıdır. Bu format, içinde aşağıdaki belirteçlerden bir ya da birkaçını bulundurmalıdır:
%a | Yerel kısaltılmış gün ismi |
%A | Yerel tam gün ismi |
%b | Yerel kısaltılmış ay ismi |
%B | Yerel tam ay ismi |
%c | Yerel düzgün tarih ve saat ifadesi |
%d | Ayın günü (01-31) |
%H | Saat (24 saatlik biçim, 00-23) |
%I | Saat (12 saatlik biçim, 01-12) |
%j | Yılın günü (001-366) |
%m | Ay (01-12) |
%M | Dakika (00-59) |
%p | AM ya da PM |
%S | Saniye (00-59) |
%U | Yılın haftası (Pazar günü başlar, 00-53) |
%w | Haftanın günü (0-6, 0 Pazar) |
Bu belirteçlerden hangisinin ne anlama geldiği tam olarak öğrenildiğinde, strptime() fonksiyonu kullanılarak zaman bilgisinin belirli bir formatta ekrana yazılması oldukça kolaylaşacaktır.
sleepp()
Python programlama dili ile uygulamalar geliştirirken, bazen işlemlerin arasında belirli bir süre bekletilmesi gerekebilir. İşte bu noktada, “sleepp()” fonksiyonu devreye girer. Bu fonksiyon, belirtilen süre kadar programın beklemesini sağlar.
“sleepp()” fonksiyonunun kullanımı oldukça basittir. Fonksiyon, sadece bir parametre kabul eder ve bu parametre, programın bekletileceği süreyi ifade eder. Süre, saniye cinsinden belirtilir.
Örneğin, programın 3 saniye boyunca beklemesini sağlamak için şu kod satırı kullanılır:
import timetime.sleep(3)
Bu kod bloğu sayesinde, programın 3 saniye boyunca bekletilmesi sağlanır. “sleepp()” fonksiyonu, özellikle web scraping işlemlerinde ya da kodların arka planda çalışması gereken durumlarda sıkça kullanılır.
Bununla birlikte, “sleepp()” fonksiyonu kullanırken dikkatli olunması gereken bazı durumlar da vardır. Örneğin, programın çok uzun süreler boyunca bekletilmesi, uygulamanın performansını olumsuz yönde etkileyebilir. Bu nedenle, bekletme süresi mümkün olduğunca kısa tutulmalıdır.
Zaman Manipülasyonu
Time modülü, zaman değiştirme işlemleri için de kullanılabilir. zaman özelliklerini modifiye edilebilir ve yeni zaman bilgilerini elde edebilirsiniz. Zaman manipülasyonu, strftime() fonksiyonuyla yapılabilir. Bu fonksiyon, belirli bir tarih-saat bilgisini belirtilen formata göre formatlar.
Bir diğer kullanışlı fonksiyon da ctime() fonksiyonudur. Bu fonksiyon, yerel zaman bilgisini kullanarak okunabilir zaman cinsinden çıktı verir. Özellikle, bir log dosyasının son değiştirilme zamanını, dosyanın oluşturulma tarihini vb. gibi bilgileri görmek istediğinizde kullanışlıdır. strftime() ve ctime() fonksiyonları çoğu durumda yeterli olacaktır.
Fonksiyon | Açıklama |
---|---|
strftime() | Zaman verilerini formatlayarak metin halinde döndürür. |
ctime() | Yerel zaman bilgisi kullanarak okunabilir zaman cinsinden metin olarak geri döndürür. |
strftime()
strftime() fonksiyonu, zaman bilgilerini belirlenen formata göre metin halinde döndürmeye yarar. Yani, örneğin saat bilgisini “HH:MM:SS” formata çevirebilirsiniz. Bu sayede, farklı yerlerde farklı formatta kullanılan zaman bilgilerini standart bir formata dönüştürebilirsiniz.
strftime() fonksiyonu kullanılırken format kodları kullanılır. Bu kodlar, zaman bilgilerinin farklı kısımlarını ifade eder. Bazı önemli format kodları şöyledir:
- %d: Ayın günü
- %m: Ayın numarası
- %Y: Yıl
- %H: Saat (24-saat formatı)
- %M: Dakika
- %S: Saniye
Bu format kodlarını kullanarak, istediğiniz şekilde zaman bilgisini formatlayabilirsiniz. Örneğin, “24 Ocak 2022 21:30” tarihini “2022-01-24 21:30:00” formatına çevirmek için şöyle bir kod yazabilirsiniz:
Kod | Açıklama |
---|---|
zaman = “24 Ocak 2022 21:30” | Örnek bir zaman bilgisi tanımlanır. |
yeni_zaman = time.strptime(zaman, “%d %B %Y %H:%M”) | Kod, önceki satırda tanımlanan zaman bilgisi üzerinde çalışır ve yeni bir zaman objesi oluşturur. |
yeni_zaman_metin = time.strftime(“%Y-%m-%d %H:%M:%S”, yeni_zaman) | Yeni oluşturulan zaman objesi, istenilen formata çevrilir. |
print(yeni_zaman_metin) | Yeni zaman bilgisi ekrana yazdırılır. |
Bu örnekte, ilk satırda “24 Ocak 2022 21:30” şeklinde bir zaman tanımlanır. Daha sonra, strptime() fonksiyonu kullanılarak bu zaman bilgisi bir objeye dönüştürülür. Son olarak, strftime() fonksiyonu kullanılarak bu obje “2022-01-24 21:30:00” formatına çevrilir ve ekrana yazdırılır.
ctime()
Python’un içinde bulunan time modülü, zaman işlemlerinin gerçekleştirilmesi için kullanılır. Time modülü içinde yer alan fonksiyonlar zaman işlemleri yapabilir, zaman manipülasyonu yapabilir ve zaman ölçümü yapabilir. Ctime() fonksiyonu, yerel zaman bilgisini kullanarak kolayca zaman bilgisi döndürebilir. Yerel zaman, konumun saat dilimine göre değişiklik gösterir ve UTC zaman bölgesine göre düzeltilir.
Ctime() fonksiyonu, zaman işlemlerinde sık sık kullanılan bir fonksiyondur. Fonksiyona parametre olarak zaman bilgisi verilmezse, mevcut zaman bilgisi alınarak okunabilir zaman cinsinden metin olarak geri döndürülür. Fonksiyonun döndürdüğü metin, kolayca anlaşılabilir ve okunabilir bir formattadır.
Örneğin:
ctime() | Okunabilir Zaman Formatı |
---|---|
time.ctime() | ‘Sun Jun 06 06:40:01 2021’ |
Yukarıdaki kod örneğinde, ctime() fonksiyonu çağrılarak mevcut yerel zaman bilgisi okunabilir zaman formatında geri döndürülmüştür. Fonksiyon, tarih ve zaman bilgisini içeren bir metin formatında döndürür.
Zaman Ölçümü
Programların performansı önemlidir ve zaman ölçme işlemi de bu nedenle gereklidir. Time modülü, python dilinde zaman ölçümleme işlemi için kullanılabilir. Perf_counter() fonksiyonu, zamanı daha hassas bir şekilde ölçmek amacıyla kullanılır. CPU’nun işlemci zamanını ölçmek için ise Process_time() fonksiyonu kullanılır. Özellikle programların optimize edilmesi, belirli işlemlerin ne kadar sürede tamamlandığını ölçmek ve hataları tespit etmek için bu fonksiyonlar oldukça faydalıdır.
Zaman ölçümü sonuçlarını daha rahat anlamak ve takip etmek adına tablolar oluşturulabilir. Bunun için HTML’e uygun
Kod | Çıktı |
---|---|
import time start = time.perf_counter() # Buraya kodlar yazılır end = time.perf_counter() print("Geçen süre:", end-start) |
Geçen süre: 1.234 |
Yukarıdaki kod örneğinde, perf_counter() fonksiyonu kullanılarak bir işlem ölçülmektedir. İşlemin başlangıç ve bitiş zamanları arasındaki fark, geçen süre olarak çıktı olarak verilmektedir.
Process_time()
Python’un time modülünde yer alan bir fonksiyon olan process_time(), işlemcinin harcadığı zamanı ölçmek için kullanılır. Bu fonksiyon, Python’daki işlemcinin kullanımını ölçmek için yararlıdır. Bu fonksiyon, işlemcinin kullandığı bellek veya diğer kaynaklar hakkında bilgi sağlamaz, sadece zaman ölçer.
Bu özellikle performans testleri ve optimizasyonlar yapılırken yararlıdır. Örneğin, bir işlevin işlemcinin belirli bir bölümünü aşırı kullanırsanız, performansın olumsuz etkilenmesine neden olabilirsiniz. process_time() fonksiyonunu kullanarak işlevin bu bölümlerini tespit edebilir ve gerekirse optimize edebilirsiniz.
Process_time() fonksiyonu, işlemcinin kullandığı süre hakkında bir float değeri döndürür. Bu değer, işlemcinin kullandığı zamanın saniye cinsinden toplam değeridir. Özellikle CPU-bound (işlemci yoğun) programlarda kullanılan bu fonksiyon sayesinde, Python programınızın CPU kullanımını daha da optimize edebilirsiniz.