Fungsi Tidur Python - Cara Membuat Python Menunggu Beberapa Detik Sebelum Meneruskan, Dengan Perintah Contoh

Anda boleh menggunakan sleep()fungsi Python untuk menambahkan kelewatan masa pada kod anda.

Fungsi ini berguna jika anda mahu menjeda kod anda antara panggilan API, misalnya. Atau tingkatkan pengalaman pengguna dengan menambahkan jeda antara perkataan atau grafik.

from time import sleep sleep(2) print("hello world") 

Semasa saya menjalankan kod di atas, terdapat kelewatan dua saat sebelum "hello world" dicetak.

Saya mengalami kelewatan kerana sleep()menghentikan "pelaksanaan utas panggilan" selama beberapa saat (walaupun waktu yang tepat adalah anggaran). Jadi pelaksanaan program dijeda selama kira-kira dua saat dalam contoh di atas.

Dalam artikel ini, anda akan belajar bagaimana meletakkan kod Python anda untuk tidur.

Perincian Tidur

Modul masa Python mengandungi banyak fungsi yang berkaitan dengan masa, salah satunya adalah sleep(). Untuk menggunakan sleep (), anda perlu mengimportnya.

from time import sleep 

tidur () mengambil satu argumen: saat. Ini adalah jumlah masa (dalam beberapa saat) yang anda mahu menangguhkan kod anda.

seconds = 2 sleep(seconds) 

Tidur dalam Aksi

Sekarang mari kita gunakan sleep()dengan beberapa cara yang berbeza.

Selepas saya mengimport tidur dari timemodul, dua baris teks akan dicetak. Akan tetapi, terdapat kelewatan kira-kira dua saat antara pencetakan setiap baris.  

from time import sleep print("Hello") sleep(2) print("World") 

Inilah yang berlaku semasa saya menjalankan kod:

"Hello"Garis ini dicetak dengan segera.

Kemudian, terdapat kira-kira kelewatan dua saat.

"World" Garis ini dicetak kira-kira dua saat selepas yang pertama.

Anda Boleh Tepat

Jadikan kelewatan masa anda spesifik dengan memberikan nombor titik terapung ke sleep().

from time import sleep print("Prints immediately.") sleep(0.50) print("Prints after a slight delay.") 

Inilah yang berlaku semasa saya menjalankan kod:

"Prints immediately." Garis ini dicetak serta-merta.

Kemudian, berlaku kelewatan kira-kira 0.5 saat.

"Prints after a slight delay." Garis ini dicetak kira-kira 0.5 saat selepas yang pertama.

Buat Cap Waktu

Inilah contoh lain yang perlu dipertimbangkan.

Dalam kod di bawah, saya membuat lima cap waktu. Saya gunakan sleep()untuk menambah kelewatan kira-kira satu saat antara setiap cap waktu.

import time for i in range(5): current_time = time.localtime() timestamp = time.strftime("%I:%m:%S", current_time) time.sleep(1) print(timestamp) 

Di sini, saya mengimport modul sepanjang masa sehingga saya dapat mengakses pelbagai fungsi daripadanya, termasuk tidur ().

import time 

Kemudian, saya membuat gelung untuk yang berulang sebanyak lima kali.

for i in range(5): ... 

Pada setiap lelaran, saya mendapat masa sekarang.

current_time = time.localtime() 

Saya mendapat cap waktu menggunakan fungsi lain dalam modul waktu , strftime().

timestamp = time.strftime("%I:%m:%S", current_time) 

Fungsi sleep () seterusnya, yang akan menyebabkan kelewatan pada setiap lelaran gelung.

time.sleep(1) 

Semasa saya menjalankan program, saya menunggu sekejap sebelum cap waktu pertama dicetak. Kemudian, saya tunggu sekejap lagi untuk cap waktu seterusnya untuk dicetak, dan seterusnya sehingga gelung berakhir.

Keluarannya seperti ini:

04:08:37 04:08:38 04:08:39 04:08:40 04:08:41 

tidur () dan Pengalaman Pengguna

Cara lain untuk digunakan sleep()adalah dengan meningkatkan pengalaman pengguna dengan mewujudkan rasa ketegangan.

from time import sleep story_intro = ["It", "was", "a", "dark", "and", "stormy", "night", "..."] for word in story_intro: print(word) sleep(1) 

Di sini, saya mengulangi senarai perkataan dalam story_intro. Untuk menambahkan ketegangan, saya menggunakan fungsi sleep () untuk menunda sekitar satu saat setelah setiap perkataan dicetak.

time.sleep(1) 

Walaupun kelajuan pelaksanaan sering berada di barisan depan fikiran kita, kadang-kadang perlu diperlahankan dan menambah jeda dalam kod kita. Apabila peristiwa itu muncul, anda tahu apa yang harus dijangkau dan bagaimana ia berfungsi.

Saya menulis mengenai belajar memprogram, dan cara terbaik untuk melakukannya di amymhaddad.com. Saya tweet mengenai pengaturcaraan, pembelajaran, dan produktiviti: @amymhaddad.