Dalam tutorial ini, Anda akan mempelajari tentang fungsi Pythonsleep() yang memungkinkan Anda menambahkan jeda dalam eksekusi program. Ini adalah fungsi yang berguna terutama saat program Anda bekerja dengan thread atau bahkan saat Anda bekerja dengan grafik dan animasi. Fungsi sleep tersedia dalam modul time yang berisi banyak fungsi lain terkait akses waktu dan konversi. Meskipun modul ini tersedia di semua platform, tidak semua fungsinya mungkin tersedia atau bekerja dengan cara yang persis sama. Mari kita lihat modul time.sleep() lebih detail...
Modul Time
Modul ini menyediakan fungsi-fungsi yang membantu memanipulasi waktu dan menggunakannya dalam program Anda. Ada modul "saudara" lain yang bekerja lebih presisi dengan tanggal dan kalender pada sistem Anda, tetapi modul ini lebih berfokus pada manipulasi waktu saja — bekerja dengan jam hingga ke milidetik.
Salah satu istilah yang umumnya akan Anda dengar saat bekerja dengan waktu di dunia ilmu komputer adalah epoch.
Tapi pertama-tama, pastikan Anda mengimpor modul time. Untuk melakukannya, cukup ketik:
Ini adalah titik pasti ketika waktu benar-benar dimulai. Ini bukan berarti kelahiran tata surya kita atau ketika manusia mulai mengukur waktu, melainkan relatif lebih dekat ke masa kini. Untuk sistem UNIX, epoch adalah 1 Januari 1970, 00:00:00 (UTC) (Itu hari Kamis kalau Anda penasaran...) Untuk mengetahui epoch pada sistem Anda, Anda dapat mengetik:
time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0)Didukung oleh
Ini akan memberi tahu Anda tahun (tm_year), bulan (tm_mon), hari (tm_mday), jam (tm_hour), menit (tm_min), dan detik (tm_sec). Bersama dengan hari dalam minggu (tm_wday) — ini bernilai 3 karena Senin ditandai sebagai awal minggu dan dihitung sebagai 0. Lalu diikuti oleh hari dalam tahun (tm_yday) alias hari julian. Dan terakhir, penanda daylight saving (tm_isdst) — DST adalah daylight saving time. Bidang ini bernilai 0, -1, atau 1. 0 jika daylight saving tidak berlaku. 1 jika daylight saving berlaku, dan -1 jika informasinya tidak tersedia. Mengapa tidak tersedia? Karena aturan DST ditentukan oleh hukum setempat dan dapat berubah.
Kebanyakan komputer menyimpan waktu dan tanggal sebagai selisih detik dari tanggal 1 Januari 1970, 00:00:00 (UTC) ke waktu yang akan disimpan. Jadi, jika Anda mengetik:
Ini akan memberi tahu Anda jumlah detik yang telah berlalu sejak 1 Januari 1970, 00:00:00 (UTC). Selisih ini disebut timestamp atau waktu epoch UNIX, dan berbentuk angka floating point. Sebenarnya, kalau jujur, selisihnya bukan dalam satuan detik, melainkan sesuatu yang disebut tick. Pada sebagian besar sistem UNIX, jam "berdetik" 50 hingga 100 kali dalam satu detik. Jadi, waktu epoch UNIX sebenarnya adalah jumlah tick yang terjadi sejak 1 Jan 1970, 00:00:00 UTC.
Sekarang, setelah Anda punya gambaran tentang apa yang dilakukan modul time, mari kita lihat fungsi sleep().
time.sleep()
Sederhananya, time.sleep() menerima argumen berupa jumlah detik yang Anda inginkan agar program berhenti atau ditangguhkan sebelum melanjutkan ke langkah berikutnya. Mari kita lihat dengan bantuan program sederhana, di mana kita hanya menampilkan waktu saat ini dengan jeda 5 detik di antara eksekusi berikutnya — sehingga memperkenalkan selisih 5 detik antara setiap cetakan waktu saat ini. Menggunakan time.ctime() membantu menampilkan waktu lokal dalam format yang rapi.
for count inrange(5):print(time.ctime())# Prints the current time with a five second difference
time.sleep(5)Didukung oleh
Sun Jan 2718:46:242019
Sun Jan 2718:46:292019
Sun Jan 2718:46:342019
Sun Jan 2718:46:392019
Sun Jan 2718:46:442019Didukung oleh
Sintaks fungsi ini adalah: time.sleep(sec) di mana sec adalah argumen yang menentukan berapa detik program akan ditangguhkan. Fungsi ini tidak mengembalikan nilai apa pun.
sec — Argumen ini sebenarnya adalah angka floating point, sehingga Anda dapat membuat waktu tidur lebih presisi. Namun, ini agak meragukan karena waktu penangguhan yang sebenarnya mungkin lebih pendek daripada waktu yang diminta atau justru lebih lama secara sewenang-wenang. Untuk lebih memahaminya, bayangkan program sebagai masalah atau tugas yang ditangani oleh tenaga penjual berbeda di sebuah toko — ketika Anda menangguhkan program, orang yang mengerjakannya langsung diberi klien lain. Namun tak lama kemudian (lebih cepat dari detik tidur yang ditentukan), tenaga penjual lain yang sedang kosong mengambil alih tugas tersebut dan menyelesaikannya — sehingga waktu penangguhan bisa lebih singkat. Demikian pula, waktu penangguhan bisa lebih lama dari yang diminta secara sewenang-wenang karena penjadwalan tugas untuk semua tenaga penjual di toko, sehingga program harus menunggu giliran. Secara internal tentu ini lebih kompleks, dan banyak cara penanganannya sudah diperkenalkan.
for count inrange(3):print(time.ctime())# Prints the current time with a five second difference
time.sleep(2.5)Didukung oleh
Sun Jan 2718:46:492019
Sun Jan 2718:46:522019
Sun Jan 2718:46:542019Didukung oleh
Python tidak memberikan jaminan tentang perilaku pemanggilan fungsi ini, terutama lintas platform. Alasannya adalah sebagian besar fungsi yang didefinisikan dalam modul ini memanggil fungsi pustaka C platform dengan nama yang sama. Akurasinya sangat bergantung pada akurasi sleep sistem operasi yang mendasarinya dan jika Anda perlu menelusuri lebih lanjut — sebaiknya lihat dokumentasi platform karena semantik fungsi-fungsi ini bervariasi antar platform.
Namun ada kabar baik: mulai Python versi 3.5, time.sleep(secs) kini tidur setidaknya selama secs (argumen yang diberikan) meskipun sleep terganggu oleh sinyal (sekali lagi, bayangkan sinyal sebagai tenaga penjual seperti dibahas di atas), kecuali jika penangan sinyal memunculkan pengecualian.
Jadi, apa yang terjadi di dalam saat menggunakan time.sleep()? Bagian ini dimaksudkan untuk memahami fungsi tersebut dengan lebih baik, tetapi tidak diperlukan untuk mulai menggunakannya. Fungsi ini sebenarnya menggunakan System Clock, sebuah perangkat elektronik di komputer yang menghasilkan sinyal berfrekuensi tinggi yang stabil untuk menyinkronkan semua komponen internal dan merupakan bagian dari prosesor. Modul ini memunculkan apa yang disebut Interrupt Requests (IRQ) pada interval yang dapat diprogram. IRQ bertugas menghentikan kode saat ini yang dieksekusi prosesor, menyimpan keadaan saat ini sebelum menyerahkan kendali ke potongan kode lain di sistem operasi. Jadi, yang dilakukan fungsi sleep() adalah memanggil rutin penyelesaian I/O yang mendasari atau pemanggilan prosedur asinkron untuk memblokir proses. OS akan mencatat bahwa Anda tidak ingin melakukan apa pun sampai periode batas waktu tercapai. Setelah periode batas waktu ini tercapai, OS akan melanjutkan proses Anda dari keadaan terakhir yang diingatnya. Dan dari sudut pandang Anda, hanya ada pemanggilan sederhana ke fungsi time.sleep().
Selamat telah menguasai fungsi time.sleep(). Pastikan untuk melihat kursus DataCamp Python Data Science Toolbox (Bagian 1) untuk mempelajari lebih lanjut tentang fungsi di Python.
Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Selami ilmu data dengan Python dan pelajari cara menganalisis serta memvisualisasikan data Anda secara efektif. Tak perlu pengalaman atau keterampilan coding.
Dalam tutorial ini, Anda akan mempelajari tentang fungsi Python
sleep()yang memungkinkan Anda menambahkan jeda dalam eksekusi program. Ini adalah fungsi yang berguna terutama saat program Anda bekerja dengan thread atau bahkan saat Anda bekerja dengan grafik dan animasi. Fungsi sleep tersedia dalam modultimeyang berisi banyak fungsi lain terkait akses waktu dan konversi. Meskipun modul ini tersedia di semua platform, tidak semua fungsinya mungkin tersedia atau bekerja dengan cara yang persis sama. Mari kita lihat modultime.sleep()lebih detail...Modul Time
Modul ini menyediakan fungsi-fungsi yang membantu memanipulasi waktu dan menggunakannya dalam program Anda. Ada modul "saudara" lain yang bekerja lebih presisi dengan tanggal dan kalender pada sistem Anda, tetapi modul ini lebih berfokus pada manipulasi waktu saja — bekerja dengan jam hingga ke milidetik.
Salah satu istilah yang umumnya akan Anda dengar saat bekerja dengan waktu di dunia ilmu komputer adalah epoch.
Tapi pertama-tama, pastikan Anda mengimpor modul time. Untuk melakukannya, cukup ketik:
epoch
Ini adalah titik pasti ketika waktu benar-benar dimulai. Ini bukan berarti kelahiran tata surya kita atau ketika manusia mulai mengukur waktu, melainkan relatif lebih dekat ke masa kini. Untuk sistem UNIX, epoch adalah 1 Januari 1970, 00:00:00 (UTC) (Itu hari Kamis kalau Anda penasaran...) Untuk mengetahui epoch pada sistem Anda, Anda dapat mengetik:
Ini akan memberi tahu Anda tahun (tm_year), bulan (tm_mon), hari (tm_mday), jam (tm_hour), menit (tm_min), dan detik (tm_sec). Bersama dengan hari dalam minggu (tm_wday) — ini bernilai 3 karena Senin ditandai sebagai awal minggu dan dihitung sebagai 0. Lalu diikuti oleh hari dalam tahun (tm_yday) alias hari julian. Dan terakhir, penanda daylight saving (tm_isdst) — DST adalah daylight saving time. Bidang ini bernilai 0, -1, atau 1. 0 jika daylight saving tidak berlaku. 1 jika daylight saving berlaku, dan -1 jika informasinya tidak tersedia. Mengapa tidak tersedia? Karena aturan DST ditentukan oleh hukum setempat dan dapat berubah.
Kebanyakan komputer menyimpan waktu dan tanggal sebagai selisih detik dari tanggal 1 Januari 1970, 00:00:00 (UTC) ke waktu yang akan disimpan. Jadi, jika Anda mengetik:
Ini akan memberi tahu Anda jumlah detik yang telah berlalu sejak 1 Januari 1970, 00:00:00 (UTC). Selisih ini disebut timestamp atau waktu epoch UNIX, dan berbentuk angka floating point. Sebenarnya, kalau jujur, selisihnya bukan dalam satuan detik, melainkan sesuatu yang disebut tick. Pada sebagian besar sistem UNIX, jam "berdetik" 50 hingga 100 kali dalam satu detik. Jadi, waktu epoch UNIX sebenarnya adalah jumlah tick yang terjadi sejak 1 Jan 1970, 00:00:00 UTC.
Sekarang, setelah Anda punya gambaran tentang apa yang dilakukan modul time, mari kita lihat fungsi
sleep().time.sleep()
Sederhananya,
time.sleep()menerima argumen berupa jumlah detik yang Anda inginkan agar program berhenti atau ditangguhkan sebelum melanjutkan ke langkah berikutnya. Mari kita lihat dengan bantuan program sederhana, di mana kita hanya menampilkan waktu saat ini dengan jeda 5 detik di antara eksekusi berikutnya — sehingga memperkenalkan selisih 5 detik antara setiap cetakan waktu saat ini. Menggunakantime.ctime()membantu menampilkan waktu lokal dalam format yang rapi.Sintaks fungsi ini adalah:
time.sleep(sec)di mana sec adalah argumen yang menentukan berapa detik program akan ditangguhkan. Fungsi ini tidak mengembalikan nilai apa pun.sec — Argumen ini sebenarnya adalah angka floating point, sehingga Anda dapat membuat waktu tidur lebih presisi. Namun, ini agak meragukan karena waktu penangguhan yang sebenarnya mungkin lebih pendek daripada waktu yang diminta atau justru lebih lama secara sewenang-wenang. Untuk lebih memahaminya, bayangkan program sebagai masalah atau tugas yang ditangani oleh tenaga penjual berbeda di sebuah toko — ketika Anda menangguhkan program, orang yang mengerjakannya langsung diberi klien lain. Namun tak lama kemudian (lebih cepat dari detik tidur yang ditentukan), tenaga penjual lain yang sedang kosong mengambil alih tugas tersebut dan menyelesaikannya — sehingga waktu penangguhan bisa lebih singkat. Demikian pula, waktu penangguhan bisa lebih lama dari yang diminta secara sewenang-wenang karena penjadwalan tugas untuk semua tenaga penjual di toko, sehingga program harus menunggu giliran. Secara internal tentu ini lebih kompleks, dan banyak cara penanganannya sudah diperkenalkan.
Python tidak memberikan jaminan tentang perilaku pemanggilan fungsi ini, terutama lintas platform. Alasannya adalah sebagian besar fungsi yang didefinisikan dalam modul ini memanggil fungsi pustaka C platform dengan nama yang sama. Akurasinya sangat bergantung pada akurasi sleep sistem operasi yang mendasarinya dan jika Anda perlu menelusuri lebih lanjut — sebaiknya lihat dokumentasi platform karena semantik fungsi-fungsi ini bervariasi antar platform.
Namun ada kabar baik: mulai Python versi 3.5,
time.sleep(secs)kini tidur setidaknya selama secs (argumen yang diberikan) meskipun sleep terganggu oleh sinyal (sekali lagi, bayangkan sinyal sebagai tenaga penjual seperti dibahas di atas), kecuali jika penangan sinyal memunculkan pengecualian.Jadi, apa yang terjadi di dalam saat menggunakan
time.sleep()?Bagian ini dimaksudkan untuk memahami fungsi tersebut dengan lebih baik, tetapi tidak diperlukan untuk mulai menggunakannya. Fungsi ini sebenarnya menggunakan System Clock, sebuah perangkat elektronik di komputer yang menghasilkan sinyal berfrekuensi tinggi yang stabil untuk menyinkronkan semua komponen internal dan merupakan bagian dari prosesor. Modul ini memunculkan apa yang disebut Interrupt Requests (IRQ) pada interval yang dapat diprogram. IRQ bertugas menghentikan kode saat ini yang dieksekusi prosesor, menyimpan keadaan saat ini sebelum menyerahkan kendali ke potongan kode lain di sistem operasi.
Jadi, yang dilakukan fungsi sleep() adalah memanggil rutin penyelesaian I/O yang mendasari atau pemanggilan prosedur asinkron untuk memblokir proses. OS akan mencatat bahwa Anda tidak ingin melakukan apa pun sampai periode batas waktu tercapai. Setelah periode batas waktu ini tercapai, OS akan melanjutkan proses Anda dari keadaan terakhir yang diingatnya. Dan dari sudut pandang Anda, hanya ada pemanggilan sederhana ke fungsi
time.sleep().Selamat telah menguasai fungsi
time.sleep(). Pastikan untuk melihat kursus DataCamp Python Data Science Toolbox (Bagian 1) untuk mempelajari lebih lanjut tentang fungsi di Python.