HomeLập trìnhPythonChức năng ngủ...

Chức năng ngủ của Python – Cách làm cho Python đợi vài giây trước khi tiếp tục, với các lệnh ví dụ


Bạn có thể sử dụng Python sleep() để thêm thời gian trễ vào mã của bạn.

Ví dụ: chức năng này rất hữu ích nếu bạn muốn tạm dừng mã của mình giữa các lệnh gọi API. Hoặc nâng cao trải nghiệm của người dùng bằng cách thêm các khoảng dừng giữa các từ hoặc đồ họa.

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

Khi tôi chạy đoạn mã trên, sẽ có độ trễ khoảng hai giây trước khi bản in “hello world”.

Tôi gặp phải sự chậm trễ vì sleep() dừng “thực thi chuỗi cuộc gọi” trong một số giây được cung cấp (mặc dù thời gian chính xác là gần đúng). Vì vậy, việc thực thi chương trình bị tạm dừng trong khoảng hai giây trong ví dụ trên.

Trong bài viết này, bạn sẽ tìm hiểu cách đặt mã Python ở chế độ ngủ.

Mô-đun thời gian của Python chứa nhiều hàm liên quan đến thời gian, một trong số đó là sleep(). Để sử dụng chế độ ngủ (), bạn cần nhập nó.

from time import sleep

sleep() nhận một đối số: giây. Đây là lượng thời gian (tính bằng giây) mà bạn muốn trì hoãn mã của mình.

seconds = 2
sleep(seconds)

ngủ trong hành động

Bây giờ hãy sử dụng sleep() theo một vài cách khác nhau.

Sau khi tôi nhập giấc ngủ từ time module, hai dòng văn bản sẽ được in. Tuy nhiên, sẽ có độ trễ khoảng hai giây giữa việc in mỗi dòng.

Đọc thêm  Hướng dẫn lập trình Hello World cho Python

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

Đây là những gì đã xảy ra khi tôi chạy mã:

"Hello" Dòng này được in ngay lập tức.

Sau đó, có một sự chậm trễ khoảng hai giây.

"World" Dòng này được in khoảng hai giây sau dòng đầu tiên.

Bạn có thể chính xác

Làm cho thời gian trễ của bạn trở nên cụ thể bằng cách chuyển một số dấu phẩy động tới sleep().

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

Đây là những gì đã xảy ra khi tôi chạy mã:

"Prints immediately." Dòng này được in ngay lập tức.

Sau đó, có một sự chậm trễ khoảng 0,5 giây.

"Prints after a slight delay." Dòng này được in khoảng 0,5 giây sau dòng đầu tiên.

Tạo Dấu thời gian

Đây là một ví dụ khác để xem xét.

Trong đoạn mã dưới đây, tôi tạo năm dấu thời gian. tôi sử dụng sleep() để thêm độ trễ khoảng một giây giữa mỗi dấu thời gian.

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

Ở đây, tôi nhập toàn bộ mô-đun thời gian để tôi có thể truy cập nhiều chức năng từ mô-đun đó, bao gồm cả chế độ ngủ().

import time

Sau đó, tôi tạo một vòng lặp for sẽ lặp lại năm lần.

for i in range(5):
...

Trên mỗi lần lặp lại, tôi nhận được thời gian hiện tại.

current_time = time.localtime()

Đọc thêm  Lấy mẫu ngẫu nhiên phân tầng là gì? Định nghĩa và ví dụ về Python

Tôi nhận được dấu thời gian bằng một chức năng khác trong mô-đun thời gian, strftime().

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

Tiếp theo là hàm sleep(), hàm này sẽ gây ra độ trễ trên mỗi lần lặp của vòng lặp.

time.sleep(1)

Khi tôi chạy chương trình, tôi đợi khoảng một giây trước khi dấu thời gian đầu tiên được in ra. Sau đó, tôi đợi khoảng một giây để in dấu thời gian tiếp theo, v.v. cho đến khi vòng lặp kết thúc.

Đầu ra trông như thế này:

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

sleep() và Trải nghiệm người dùng

Một cách khác để sử dụng sleep() là nâng cao trải nghiệm của người dùng bằng cách tạo ra một số hồi hộp.

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

Ở đây, tôi lặp qua danh sách các từ trong story_intro. Để thêm hồi hộp, tôi sử dụng hàm sleep() để trì hoãn khoảng một giây sau khi mỗi từ được in.

time.sleep(1)

Mặc dù tốc độ thực thi thường là ưu tiên hàng đầu trong tâm trí chúng ta, nhưng đôi khi việc giảm tốc độ và thêm một khoảng dừng trong mã của chúng ta cũng đáng. Khi những dịp đó phát sinh, bạn biết phải đạt được điều gì và nó hoạt động như thế nào.

Tôi viết về việc học lập trình và những cách tốt nhất để thực hiện nó trên amymhaddad.com. Tôi tweet về lập trình, học tập và năng suất: @amymhaddad.

Đọc thêm  Cách sử dụng OpenCV và Python cho Computer Vision và AI





Zik.vn – Biên dịch & Biên soạn Lại

spot_img

Create a website from scratch

Just drag and drop elements in a page to get started with Newspaper Theme.

Buy Now ⟶

Bài viết liên quang

DMCA.com Protection Status