Cách đặt hẹn giờ trong python
Trong phần còn lại của bài viết này, chúng ta sẽ mở rộng khái niệm này bằng cách tính toán và báo cáo thời gian thực hiện của hàm Show
Đánh dấu một thời điểm. Mô-đun thời gian PythonMô-đun 6 được trang bị nhiều phương pháp để báo cáo GMT hoặc giờ địa phương được định dạng độc đáo theo năm, tháng, ngày, giờ, phút và giâyĐối với mục đích tính thời gian của chúng tôi, sẽ rất hữu ích nếu thời gian được biểu thị dưới dạng một số duy nhất. Chúng tôi đã đạt được điều này trong mã giới thiệu, nhưng đây là kết quả thực sự của hàm 8
Ngoài
Số được in trên màn hình biểu thị thời gian chỉ tính bằng giây đã trôi qua kể từ một số kỷ nguyên phụ thuộc vào hệ thống (hầu hết các hệ thống sử dụng ngày 1 tháng 1 năm 1970), bị loại bỏ khỏi bất kỳ cấu trúc nào khác Vì chúng tôi có thời gian giảm xuống một số dấu phẩy động, chúng tôi chỉ có thể trừ một điểm thời gian cho điểm kia Hãy đưa ví dụ của chúng tôi trở lại từ phần giới thiệu
Ngoài
Ở đây, chúng tôi đã sử dụng 9 để tạm dừng thực thi trong mười giây. Chúng tôi đã đánh dấu thời gian trước và sau 0, tính toán thời gian đã trôi qua và in nó raKết quả là hơn mười giây một chút và là một con số hơi khác ở mỗi lần thực hiện. Điều này là do thời gian phụ thuộc vào các hoạt động khác của hệ thống—hệ thống chạy các hoạt động ngẫu nhiên ở giữa, khiến chúng tôi mất hơn mười giây Các lựa chọn thay thế tốt hơn cho time()Vì chúng tôi đã thiết lập sơ bộ cách tính thời gian đã trôi qua, chúng tôi có thể tinh chỉnh mã của mình một chút. Mô-đun thời gian trong Python cung cấp cho chúng ta các lựa chọn thay thế cho hàm ________ 08, tất cả đều báo cáo thời gian tính bằng giây nhưng theo những cách khác nhau 8 chúng tôi đã sử dụng cho đến bây giờ báo cáo thời gian trên đồng hồ treo tường của hệ thống. Chúng tôi cũng có một chức năng tên là 3 theo ý của chúng tôi. Chức năng này sử dụng đồng hồ đơn điệu không thể quay ngược hoặc bị ảnh hưởng bởi các bản cập nhật đồng hồ hệ thốngNếu chúng tôi dự định đo lường một quy trình dài hạn, chúng tôi sẽ chọn 3 vì tính toàn vẹn của nó, nhưng chúng tôi sẽ đo lường các quy trình đơn giản tại đâyPython cung cấp cho chúng tôi quyền truy cập vào bộ đếm hiệu suất để đo thời gian ngắn, được gọi là 5, sử dụng đồng hồ hệ thống có độ phân giải cao nhất. Tiếp tục, chúng tôi sẽ sử dụng 5 trong tính toán của chúng tôiBộ hẹn giờ sử dụng trình quản lý ngữ cảnhTrình quản lý bối cảnh cho phép chúng tôi gói logic bằng mã thiết lập và chia nhỏ bổ sung, cho phép chúng tôi quản lý tài nguyên một cách hiệu quả. Vì chúng tôi dự định bao quanh mã bằng logic thời gian, trình quản lý bối cảnh là một sự phù hợp hoàn hảo Trước tiên chúng ta hãy xem một ví dụ đơn giản về trình quản lý bối cảnh để hiểu rõ hơn về cấu trúc và cách sử dụng của nó 4Ngoài 5Ở đây, 7 được triển khai dưới dạng trình quản lý bối cảnh bằng cách sử dụng trình trang trí 8. Từ khóa 9 chia thân hàm thành hai phần. 1) Các biểu thức trên 9 được thực thi ngay trước đoạn mã được quản lý 2) Các biểu thức bên dưới 9 được thực thi ngay sauSau khi được xác định, chúng tôi đính kèm 7 vào khối mã bằng cách sử dụng câu lệnh 3Trong phần tiếp theo, chúng ta sẽ sử dụng cấu trúc tương tự để tạo bộ đếm thời gian Xác định trình quản lý bối cảnh hẹn giờTrình quản lý bối cảnh hẹn giờ bên dưới rất giống với trình quản lý bối cảnh bên trên, ngoại trừ hiện tại chúng tôi đang bao quanh 9 bằng logic thời gian của mình 4Hãy nhanh chóng xem xét mã này Đầu tiên, lưu ý rằng chúng tôi đã đặt 9 trong một khối 6 để đảm bảo khối mã được đóng khung sẽ không ảnh hưởng đến công việc của trình quản lý ngữ cảnh. Nếu mã được quản lý tạo ra lỗi, bộ đếm thời gian sẽ vẫn báo cáo thời gian đã trôi qua cho đến khi xảy ra lỗiTrên 6, chúng tôi đã đánh dấu điểm bắt đầu. 8. Trong vòng 9, chúng tôi đã đánh dấu điểm cuối và tính thời gian đã trôi qua. Cuối cùng, chúng tôi đã giới hạn biểu diễn của 0 ở bốn điểm thập phân thông qua chuỗi f và in nó raHãy đưa nó vào sử dụng 1Ngoài 0Một lợi thế của việc sử dụng bộ trang trí 8 để xác định bộ đếm thời gian của chúng ta là chúng ta có thể sử dụng bộ đếm thời gian bằng cách sử dụng cả câu lệnh 3 và như một bộ trang trí chức năng, như trong ví dụ trước. Nếu chúng tôi muốn tính thời gian cho một hoạt động nhất định một lần, chúng tôi có thể gọi 3 bằng cách sử dụng câu lệnh 3. Tuy nhiên, nếu chúng ta muốn theo dõi thời gian chạy của hàm trong mỗi lần thực hiện, chúng ta có thể trang trí hàm bằng cách sử dụng 5Điều gì xảy ra nếu chúng ta muốn chuyển đối số cho trình quản lý bối cảnh của mình? Tham số hóa bộ hẹn giờChúng tôi đã quản lý để lập trình bộ hẹn giờ có thể áp dụng cho bất kỳ chức năng nào. Nó gọn gàng và di động. Tuy nhiên, chúng ta vẫn có thể tiến thêm một bước và thêm một số tính linh hoạt cho nó Trong khối mã sau, chúng tôi đã tạo một phiên bản được tham số hóa của bộ hẹn giờ, được gọi là 6. Chúng tôi đã loại bỏ các phương thức truy cập và báo cáo thời gian được mã hóa cứng và cho phép tham số 7 định dạng chuỗi thông báo 1Ngoài 2Bên trong câu lệnh 3, chúng tôi đã chuyển hai đối số. (1) sử dụng chức năng hẹn giờ và thông báo tùy chỉnh cho chức năng in. Vì chúng tôi đang sử dụng 9 làm chức năng định thời gian nên chúng tôi sẽ đo thời gian của CPU, không bao gồm thời gian dành cho việc ngủTrong phần tiếp theo, chúng ta sẽ làm việc thông qua việc chuyển đổi bộ đếm thời gian thành bộ trang trí, giúp dễ dàng áp dụng các khả năng tính thời gian cho các chức năng của chúng ta Định nghĩa một Timer DecoratorChúng tôi cũng có thể định nghĩa bộ đếm thời gian của mình là một công cụ trang trí hoàn hảo. Chúng tôi sẽ thiết kế triển khai bộ hẹn giờ này để ghi lại thời gian chạy trung bình cho một chức năng nhất định Trong mã bên dưới, chúng tôi đang tạo một trình trang trí tiêu chuẩn lấy chức năng được trang trí làm tham số của nó. Bộ đếm thời gian lồng nhau về cơ bản giống như bộ hẹn giờ trước mà chúng tôi đã tạo 3Mã bộ hẹn giờ gần giống với bộ hẹn giờ trước, nhưng giờ đây chúng tôi đã thêm hai biến để theo dõi thời gian. 0 và 1. Các giá trị này sẽ tích lũy và giữ các giá trị cần thiết để tính giá trị trung bìnhBây giờ, chúng tôi sẽ áp dụng trình trang trí này cho một chức năng mà chúng tôi muốn tính thời gian 4Ngoài 5Khi chúng tôi trang trí 2 với 3, đó là cách viết tắt của 4, che dấu định nghĩa ban đầu của 2 để cung cấp chức năng bổ sung từ trình trang trí. Lưu ý rằng 6 chỉ chạy một lần—nó thay thế 7 và công việc của nó đã hoàn thành 3 được trả về từ 6
Nhìn chung, đây là một mẫu hữu ích để tính thời gian cho các chức năng khác nhau trong mã của bạn; Bản tóm tắtViệc đo thời gian đã trôi qua bên trong một chương trình có thể được thực hiện bằng cách gọi 56 hai lần, một lần ở đầu và một lần ở cuối. Sự khác biệt trong các giá trị trả về sau đó sẽ tiết lộ thời gian thực hiệnChức năng này có thể được lập trình thành trình quản lý bối cảnh, cho phép chúng tôi đo thời gian thực hiện của bất kỳ khối mã nào bằng cách sử dụng câu lệnh 3. Chúng ta cũng có thể triển khai nó bằng cách sử dụng một trình trang trí và đưa các lệnh gọi đo thời gian vào chức năng được trang trí
Làm cách nào để sử dụng đồng hồ thời gian Python?mô-đun thời gian của phương thức clock() trong Python được sử dụng để lấy thời gian của bộ xử lý hiện tại dưới dạng số dấu phẩy động được biểu thị bằng giây . Như, Hầu hết các hàm được xác định trong mô-đun thời gian gọi hàm thư viện C tương ứng. thời gian. phương thức clock() cũng gọi hàm thư viện C cùng tên để lấy kết quả.
Làm cách nào để tạo đồng hồ trong Python?Đầu tiên hãy tạo một tệp có tên 'Đồng hồ. py' và mở nó trong trình chỉnh sửa của bạn. . Nhập mô-đun. Nhập các mô-đun sau. . Tạo một cửa sổ Tkinter. Bây giờ chúng ta sẽ tạo một cửa sổ tkinter. . Thêm điều khiển tab Tkinter. . Tạo đồng hồ. . Tạo báo thức. . làm đồng hồ bấm giờ. . hẹn giờ. . Đồng hồ khởi động và Tkinter |