Thông thường khi bạn viết mã, bạn muốn thực thi mã và nhận đầu ra ngay lập tức mà không bị chậm hoặc gián đoạn. Tuy nhiên, có thể có những tình huống mà bạn muốn trì hoãn việc thực thi một đoạn mã nhất định của mình. Ví dụ: giả sử bạn muốn trực quan hóa tác động của đa luồng với sự trợ giúp của mã. Trong trường hợp này, một khoảng thời gian trễ nhỏ giữa các luồng tương ứng trong chương trình có thể giúp bạn hình dung rõ hơn kết quả đầu ra và từ đó nâng cao hiểu biết của bạn. Vì vậy, đây là lúc thời gian trễ trở thành một công cụ cực kỳ hữu ích.
Bạn có thể sử dụng chức năng trì hoãn thời gian giữa hai câu lệnh bất kỳ hoặc giữa bất kỳ phần nào của chương trình theo yêu cầu của bạn. Bạn cũng có thể sử dụng thời gian trễ khi bạn đang đợi bất kỳ quy trình nào khác hoàn tất, chẳng hạn như. g. , một tập tin để tải lên
Bây giờ, chúng ta hãy xem các phương pháp khác nhau để kết hợp độ trễ thời gian trong mã Python của chúng ta
Phương pháp 1. Sử dụng phương thức ngủ [] của Mô-đun thời gian
import time print[" Hello Folks! Welcome to FINXTER!"] time.sleep[6] print[" This gets printed after 6 seconds!"]0 là một phương thức tích hợp sẵn của mô-đun
import time print[" Hello Folks! Welcome to FINXTER!"] time.sleep[6] print[" This gets printed after 6 seconds!"]1 trong Python được sử dụng để trì hoãn việc thực thi mã của bạn theo số giây do bạn chỉ định. Chúng ta hãy xem cú pháp của phương thức ngủ –
time.sleep[value in seconds]
Ở đây, độ trễ về thời gian có thể được truyền dưới dạng tham số cho phương thức
import time print[" Hello Folks! Welcome to FINXTER!"] time.sleep[6] print[" This gets printed after 6 seconds!"]2, phương thức này chỉ định số giây mà bạn muốn trì hoãn tập lệnh của mình. Ngoài ra, lưu ý rằng bạn phải nhập mô-đun
import time print[" Hello Folks! Welcome to FINXTER!"] time.sleep[6] print[" This gets printed after 6 seconds!"]1 để bạn có thể sử dụng phương thức ngủ của mô-đun đó trong mã của mình
ví dụ 1. Tạo thời gian trễ 6 giây giữa hai câu lệnh in
import time print[" Hello Folks! Welcome to FINXTER!"] time.sleep[6] print[" This gets printed after 6 seconds!"]
đầu ra
TIDBIT. Bạn có thể sử dụng thời gian. phương thức ngủ [] để in các thông báo trong chuỗi như thể trình biên dịch đang tự động nhập. Nó được gọi là In động .
Hãy thử thực thi đoạn mã sau trong trình biên dịch của bạn 😉
import time st = "Hey Finxter! Welcome to the journey to master Python!" for i in st: print[i, end=""] # Making a time delay of 1 second time.sleep[0.5]
Phương pháp 2. Sử dụng phương thức ngủ [] của Thư viện Asyncio
Nếu bạn đang sử dụng Python 3 trở lên, thì có một thư viện khác cung cấp phương thức ngủ và có thể được sử dụng cho mục đích triển khai trễ thời gian trong tập lệnh của chúng ta. Tên của thư viện này là Asyncio .
Đây là những gì tài liệu chính thức nói về thư viện asyncio –
Chà, chúng ta hãy xem một ví dụ để hiểu hoạt động của phương thức ngủ của thư viện asyncio
# Importing the asyncio library import asyncio print["Hello Folks! Welcome to FINXTER!"] # Starting the code using async async def show[]: await asyncio.sleep[6] print["This gets printed after 6 seconds!"] asyncio.run[show[]]
đầu ra
Sự khác biệt giữa thời gian. ngủ và không đồng bộ. ngủ
Sự khác biệt giữa
import time print[" Hello Folks! Welcome to FINXTER!"] time.sleep[6] print[" This gets printed after 6 seconds!"]4 và
import time print[" Hello Folks! Welcome to FINXTER!"] time.sleep[6] print[" This gets printed after 6 seconds!"]5 là hàm
import time print[" Hello Folks! Welcome to FINXTER!"] time.sleep[6] print[" This gets printed after 6 seconds!"]6 thường được sử dụng cho mục đích chặn và không đồng bộ. sleep[] được sử dụng để không chặn. Điều này có nghĩa là hàm
import time print[" Hello Folks! Welcome to FINXTER!"] time.sleep[6] print[" This gets printed after 6 seconds!"]6 chặn toàn bộ quá trình thực thi tập lệnh khi nó được gọi và tập lệnh bị tạm dừng trong khi không làm gì cả. Tuy nhiên, khi bạn gọi hàm
import time print[" Hello Folks! Welcome to FINXTER!"] time.sleep[6] print[" This gets printed after 6 seconds!"]8
import time print[" Hello Folks! Welcome to FINXTER!"] time.sleep[6] print[" This gets printed after 6 seconds!"]9 yêu cầu vòng lặp sự kiện chạy một thứ khác trong khi câu lệnh
import time print[" Hello Folks! Welcome to FINXTER!"] time.sleep[6] print[" This gets printed after 6 seconds!"]8 kết thúc quá trình thực thi
Đây là một ví dụ –
import time print[" Hello Folks! Welcome to FINXTER!"] time.sleep[6] print[" This gets printed after 6 seconds!"]5
đầu ra
import time print[" Hello Folks! Welcome to FINXTER!"] time.sleep[6] print[" This gets printed after 6 seconds!"]6
Giải trình. Vì
import time print[" Hello Folks! Welcome to FINXTER!"] time.sleep[6] print[" This gets printed after 6 seconds!"]9 không chặn toàn bộ tập lệnh nên câu lệnh in đầu tiên cho phương thức foo[] được thực thi khi foo[] được gọi hai lần. Do đó, đầu ra như hình trên. Trong trường hợp tập lệnh bị chặn, thì tập lệnh sẽ đợi và in từng câu lệnh in cho các lệnh gọi hàm tương ứng trước khi chuyển sang lệnh gọi tiếp theo
Phương pháp 3. Sử dụng sự kiện. Chờ đã[]
import time st = "Hey Finxter! Welcome to the journey to master Python!" for i in st: print[i, end=""] # Making a time delay of 1 second time.sleep[0.5]2 là một chức năng của mô-đun luồng trong Python. Hàm được sử dụng để trì hoãn việc thực hiện bất kỳ quy trình nào trong số giây mà nó cần làm đối số. Lớp sự kiện được sử dụng để tạo các sự kiện trong đó bất kỳ sự kiện đơn lẻ nào cũng có thể được nghe bởi nhiều luồng
Thí dụ
import time print[" Hello Folks! Welcome to FINXTER!"] time.sleep[6] print[" This gets printed after 6 seconds!"]9
đầu ra
Phương pháp 4. Sử dụng hẹn giờ
Hẹn giờ là một phương thức khác từ mô-đun
import time st = "Hey Finxter! Welcome to the journey to master Python!" for i in st: print[i, end=""] # Making a time delay of 1 second time.sleep[0.5]3 được sử dụng để triển khai độ trễ thời gian trong Python. Phương thức này được sử dụng để chạy và thực hiện các hoạt động chỉ sau một khoảng thời gian nhất định đã trôi qua, do đó trì hoãn việc thực hiện. Để bắt đầu chức năng hẹn giờ, bạn phải gọi phương thức
import time st = "Hey Finxter! Welcome to the journey to master Python!" for i in st: print[i, end=""] # Making a time delay of 1 second time.sleep[0.5]4. Phương thức chấp nhận hai giá trị tham số trong đó tham số đầu tiên biểu thị số giây cần đợi trước khi thực thi mã và tham số thứ hai biểu thị một chức năng mà bạn cần chạy sau thời gian cụ thể
cú pháp
Hẹn giờ [giá trị tính bằng giây, chức năng]Thí dụ
time.sleep[value in seconds]2
đầu ra
time.sleep[value in seconds]3
Bạn thậm chí có thể tạm dừng phương thức hẹn giờ bằng cách gọi
import time st = "Hey Finxter! Welcome to the journey to master Python!" for i in st: print[i, end=""] # Making a time delay of 1 second time.sleep[0.5]5. Bạn có thể sử dụng chức năng này khi có nhiều chức năng đang chạy và bạn muốn hủy thực hiện một chức năng duy nhất dựa trên kết quả của một chức năng khác
Thí dụ
time.sleep[value in seconds]5
[Trường hợp 1- Nếu hàm func2 trả về số nhỏ hơn 5]
Hàm thứ hai được thực thiHủy func3 vì func2 cho kết quả là 3
[Trường hợp 2- Nếu func2 trả về một số lớn hơn 5]
Hàm thứ hai được thực thiHàm thứ ba được thực thi
Sự kết luận
Trong bài viết này, chúng tôi đã thảo luận về nhiều cách để triển khai độ trễ thời gian trong mã Python của bạn. Tôi hy vọng nó đã giúp trả lời các câu hỏi của bạn. Vui lòng đăng ký và theo dõi để biết thêm các bài viết thú vị trong tương lai
Học viện Khoa học Máy tính Finxter
- Một trong những kỹ năng được tìm kiếm nhiều nhất trên Fiverr và Upwork là tìm kiếm trang web. Không tạo ra một sai sót. trích xuất dữ liệu theo chương trình từ các trang web là một kỹ năng sống quan trọng trong thế giới ngày nay được định hình bởi web và công việc từ xa
- Vì vậy, bạn có muốn thành thạo nghệ thuật quét web bằng BeautifulSoup của Python không?
- Nếu câu trả lời là có – khóa học này sẽ đưa bạn từ người mới bắt đầu đến chuyên gia về Quét web
Shubham Sayon
Tôi là một người tạo nội dung và Blogger Python chuyên nghiệp. Tôi đã xuất bản nhiều bài báo và tạo các khóa học trong một khoảng thời gian. Hiện tại tôi đang làm việc với tư cách là một freelancer toàn thời gian và tôi có kinh nghiệm trong các lĩnh vực như Python, AWS, DevOps và Networking