Sintaks
Contoh berikut menunjukkan penggunaan fungsi sleep () yang sederhana untuk menghentikan pelaksanaan program di tengah skrip untuk jangka masa tertentu. Skrip akan membaca dan mencetak nilai waktu sistem semasa, tunggu selama 5 saat di bawah fungsi tidur (), dan sekali lagi membaca dan mencetak masa sistem semasa. Di sini, fungsi waktu tempatan () dan waktu () digunakan untuk membaca tarikh dan waktu sistem semasa, dan fungsi strftime () digunakan untuk mencetak waktu yang diformat.
#!/ usr / bin / env python3# Modul masa import
masa import
# Baca tarikh dan masa semasa
sekarang = masa.waktu tempatan (waktu.masa())
# Cetak masa mula
mencetak (masa.strftime ("Masa mula:% H:% M:% S", sekarang))
# Tunggu selama 5 saat
cetak ("Menunggu 5 saat ...")
masa.tidur (5)
# Baca tarikh dan masa semasa
sekarang = masa.waktu tempatan (waktu.masa())
# Cetak masa tamat
mencetak (masa.strftime ("Masa tamat:% H:% M:% S", sekarang))
Pengeluaran
Output berikut akan muncul setelah menjalankan skrip di atas. Hasilnya menunjukkan bahawa jangka masa antara waktu mula dan waktu tamat adalah 5 saat, menggunakan fungsi tidur ().
Contoh 2: Buat Pembilang Masa Menggunakan tidur ()
Contoh berikut menunjukkan cara membuat penghitung waktu dengan mudah melalui kaedah sleep (). Skrip akan mengambil masa dalam beberapa saat untuk memulakan pemboleh ubah pembilang masa. Tiga modul diimport di sini. The masa tarikh modul diimport untuk menetapkan nilai masa awal. The masa modul diimport untuk menggunakan fungsi sleep (). The sys modul digunakan untuk menghentikan putaran sementara yang tidak terbatas apabila nilai pembilang sama dengan nilai pembilang masa. Empat pemboleh ubah digunakan dalam skrip untuk menginisialisasi pemboleh ubah jam, minit, kedua, dan pembilang untuk menetapkan waktu permulaan pembilang waktu. Di sini, fungsi sleep () akan menunggu satu saat dalam setiap lelaran gelung dan kemudian mencetak nilai pembilang masa.
#!/ usr / bin / env python3# Modul import masa
masa data import
# Modul masa import
masa import
# Modul sys import
import sys
# Ambil bilangan saat untuk dikira
pemasa = int (input ("Tetapkan nilai pembilang dalam beberapa saat:"))
# Permulaan masa dan nilai pembilang ke 0
jam = minit = kedua = pembilang = 0
# Cetak nilai pemasa permulaan
mencetak (masa masa).masa (jam, minit, saat))
cuba:
# Tentukan gelung tak terhingga
Walaupun Betul:
# Kelewatan selama 1 saat
masa.tidur (1)
# Kaunter kenaikan sebanyak 1
pembilang = pembilang + 1
# Kenaikan kedua dengan 1
kedua = kedua + 1
# Cetak nilai pemasa semasa
mencetak (masa masa).masa (jam, minit, saat))
# Tetapkan nilai kedua ke 0 apabila nilainya lebih dari 60
jika kedua> 60:
minit = minit + 1
kedua = 0
# Tetapkan nilai minit ke 0 apabila nilainya lebih dari 60
jika minit> 60:
jam = jam + 1
minit = 0
# Hentikan gelung apabila nilai pembilang sama dengan nilai pemasa
jika pembilang == pemasa:
cetak ("Masa selesai.")
rehat
kecuali KeyboardInterrupt:
# Hentikan skrip apabila Ctrl + C ditekan
sys.jalan keluar
Pengeluaran
Output berikut akan muncul setelah menjalankan skrip.
Contoh 3: Cetak Setiap Karakter Rentetan dengan Kelewatan
Sekiranya anda ingin menampilkan setiap watak teks dengan sedikit kelewatan output, maka anda dapat menerapkan fungsi sleep () dalam skrip. Tugas serupa ditunjukkan dalam skrip berikut. Di sini, nilai teks diambil sebagai input. Setiap watak teks diulang menggunakan gelung dan fungsinya akan menunggu 0.4 saat sebelum mencetak.
#!/ usr / bin / env python3# modul masa import
masa import
# Ambil nilai rentetan
name = input ("Masukkan nama anda:")
# Ulangi gelung untuk membaca setiap watak dari rentetan
untuk nama val:
# Cetak setiap watak tanpa garis baru
cetak (val, end = ")
# Tunggu 0.4 saat selepas mencetak setiap watak
masa.tidur (0.4)
Pengeluaran
Jalankan skrip. Anda akan memahami output dengan betul setelah menjalankan skrip.
Contoh 4: Penggunaan sleep () dalam Skrip Multi-Threaded
Contoh berikut menunjukkan penggunaan fungsi sleep () dalam skrip Python pelbagai utas. Dua modul diimport di sini: modul waktu untuk menggunakan fungsi sleep () dan modul threading untuk membuat beberapa utas. Dua fungsi tersuai digunakan dalam skrip. Mesej teks akan dicetak dan menunggu 0.5 saat selama tiga kali di dalam untuk gelung ketika utas pertama bermula. Mesej teks akan dicetak dan menunggu 1 kedua untuk empat kali di dalam untuk gelung ketika utas kedua bermula.
#!/ usr / bin / env python3# modul masa import
masa import
# Modul threading import
import benang
# Tentukan fungsi utas pertama
def prn_message_1 ():
untuk n dalam julat (3):
cetak ("Cetak utas 1 mesej")
masa.tidur (0.5)
# Tentukan fungsi utas kedua
def prn_message_2 ():
untuk n dalam julat (4):
cetak ("Cetak utas 2 mesej")
masa.tidur (1)
# Tetapkan fungsi utas pertama
utas1 = utas.Thread (sasaran = prn_message_1)
# Mulakan fungsi utas pertama
utas1.mulakan ()
# Tetapkan fungsi utas kedua
utas2 = utas.Thread (sasaran = prn_message_2)
# Mulakan fungsi utas kedua
utas2.mulakan ()
Pengeluaran
Output berikut akan muncul setelah menjalankan skrip. Setelah memulakan utas pertama, utas kedua bermula dan tunggu sehingga selesai selama 1 saat. Selama ini, gelung utas pertama selesai dua lelaran terakhir. Tiga output terakhir telah muncul untuk gelung utas kedua.
Kesimpulannya
Fungsi sleep () digunakan untuk menyelesaikan pelbagai jenis masalah berkaitan waktu di Python. Pelbagai penggunaan kaedah ini dijelaskan dengan menggunakan contoh yang sangat mudah di sini untuk membantu pembaca mengetahui fungsi alat ini. Saya percaya bahawa anda atau pengguna Python yang lain akan dapat menggunakan kaedah ini dengan betul setelah mengamalkan contoh-contoh yang terdapat dalam tutorial ini.