Trình trang trí điều kiện tiên quyết của Python
Nếu hàm được trang trí có thể được gọi với các đối số từ khóa thì tên của các đối số của điều kiện tiên quyết phải khớp với tên của hàm. Khi trang trí một phương thức lớp, điều kiện tiên quyết phải bao gồm đối số self Show Nỗ lực khiêm tốn của tôi để lập mô hình điều kiện trước/hậu với Vui thích. -) điều kiện xác định(pretext,posttext=""). # hàm -> được trang trí(chức năng) # đối số -> đóng (khẳng định) # điều kiện tiên quyết # postcondition trả lại đánh giá_điều kiện trả lại trang trí_điều kiện @condition("number>0 and number @condition("danh sách(seq) không phải là Không","tổng(seq)==kết quả") in sqrt(1. 2) 18 Jul '05 #1 7 3144Ngày 6 tháng 1 năm 2005 13. 33. 42 -0800, Rittersporn viết @condition("number>0 and number Tôi nghĩ sẽ tốt hơn nếu các điều kiện trước và sau có thể biên dịch được @condition((list(seq) is not Không có cho seq trong args), (sum(seq)==result hoặc một cái gì đó ngớ ngẩn như thế Cá nhân tôi thích cái này hơn. (tất nhiên, đây là cách sử dụng công cụ thay thế lambda framehack được trình bày Stephen. 18 Jul '05 #2 Xin chào Stephen Xin chào Robert Xin chào George, Chà, tôi đã đính kèm nỗ lực mới nhất của mình đại biểu lớp(đối tượng). # hàm -> được trang trí(chức năng) # điều kiện tiên quyết môi trường2=môi trường+[('kết quả',tmp)] # postcondition dấu vết xác định (chức năng). điều kiện tiên quyết xác định(prgtext). def postcondition(prgtext). @trace in sqrt(1. 2) 18 Jul '05 #3 Cám ơn rất nhiều. Nó thực sự là một đoạn mã rất tao nhã. -) Eiffel (ngôn ngữ) có cả kiểm định loại và thiết kế theo hợp đồng. Tôi tự hỏi liệu điều này có nên được tách ra trong một chào 18 Jul '05 #5 Eiffel (ngôn ngữ) có cả kiểm định loại và thiết kế theo hợp đồng. Thật ra, Python được gõ mạnh. Nó chỉ được nhập động thay vì Nhảy 18 Jul '05 #6 Thứ sáu, ngày 7 tháng 1 năm 2005 20. 01. 50 +0200, George Sakkis đã viết Xin chào George, Được đẹp Các vấn đề chưa được giải quyết. Nếu không thì tôi khá thích nó. Hãy xuất bản nó ở đâu đó Stephen 18 Jul '05 #7 Stephen Thornewrites Các vấn đề chưa được giải quyết. Nó nên được để trên. Để nó ở trạng thái phát triển rồi 18 Jul '05 #8 Chủ đề thảo luận này đã bị đóngTrả lời đã bị vô hiệu hóa cho cuộc thảo luận này Điều kiện tiên quyết của Python là gì?Điều kiện tiên quyết là điều gì đó phải đúng khi bắt đầu một hàm để hàm hoạt động chính xác . Hậu điều kiện là điều mà hàm đảm bảo là đúng khi nó kết thúc. Một bất biến là một cái gì đó luôn đúng tại một điểm cụ thể bên trong một đoạn mã.
Vi phạm điều kiện tiên quyết trong Python là gì?Nếu một chức năng không hoạt động, có ba khả năng cần xem xét. Có điều gì đó không ổn với các đối số mà hàm nhận được ; . Có điều gì đó không ổn với chức năng; . Có điều gì đó không ổn với giá trị trả về hoặc cách nó đang được sử dụng.
Điều gì xảy ra nếu một điều kiện tiên quyết không được đáp ứng?Khi điều kiện tiên quyết hoặc hậu điều kiện của chúng không được đáp ứng, các phương thức thường đưa ra ngoại lệ .
Gỡ lỗi điều kiện tiên quyết là gì?Điều kiện tiên quyết là câu lệnh đặt trước phân đoạn . Nó phải đúng trước khi vào phân khúc để nó hoạt động chính xác. Điều kiện tiên quyết thường được đặt trước các vòng lặp hoặc tại điểm bắt đầu của các hàm và thủ tục. Một hậu điều kiện là một tuyên bố được đặt sau khi kết thúc phân đoạn. |