Tuyên bố khẳng định trong Python

Trong bài viết này, chúng ta sẽ tìm hiểu về khẳng định trong Python bằng cách sử dụng khẳng định.

Assertion là gì?

Khẳng định là những tuyên bố khẳng định hoặc nêu một thực tế một cách tự tin trong chương trình của bạn. Ví dụ, trong khi viết một hàm chia, bạn tin rằng số chia không được bằng 0, bạn khẳng định số chia không bằng 0.

Các khẳng định chỉ đơn giản là các biểu thức boolean để kiểm tra xem các điều kiện có trả về true hay không. Nếu nó là true, chương trình không làm gì cả và chuyển sang dòng mã tiếp theo. Tuy nhiên, nếu nó sai, chương trình sẽ dừng và thông báo lỗi.

Nó cũng là một công cụ gỡ lỗi vì nó làm cho chương trình tạm dừng ngay khi có bất kỳ lỗi nào xảy ra và hiển thị lỗi chương trình đã xảy ra ở điểm nào.

Chúng ta có thể rõ ràng bằng cách xem sơ đồ bên dưới:

Tuyên bố khẳng định trong Python

Python có sẵn assertcâu lệnh để sử dụng điều kiện khẳng định trong chương trình. assertcâu lệnh có một điều kiện hoặc biểu thức được cho là luôn đúng. Nếu điều kiện sai, khẳng định sẽ tạm dừng chương trình và đưa ra giá trị AssertionError.

Cú pháp để sử dụng Assert trong Pyhton:

 khẳng định 
 khẳng định,

Trong Python, chúng ta có thể sử dụng assertcâu lệnh theo hai cách như đã đề cập ở trên.

  1. assertcâu lệnh có một điều kiện và nếu điều kiện không được thỏa mãn chương trình sẽ dừng và đưa ra AssertionError.
  2. assertcâu lệnh cũng có thể có một điều kiện và một thông báo lỗi tùy chọn. Nếu điều kiện không được thỏa mãn, khẳng định sẽ dừng chương trình và đưa AssertionErrorra thông báo lỗi.

Hãy lấy một ví dụ, trong đó chúng ta có một hàm sẽ tính giá trị trung bình của các giá trị được người dùng truyền vào và giá trị không được là một danh sách trống. Chúng tôi sẽ sử dụng assertcâu lệnh để kiểm tra tham số và nếu độ dài của danh sách được truyền là 0, chương trình sẽ tạm dừng.

Ví dụ 1: Sử dụng khẳng định mà không có thông báo lỗi

 def avg(marks): assert len(marks) != 0 return sum(marks)/len(marks) mark1 = () print("Average of mark1:",avg(mark1))

Khi chúng ta chạy chương trình trên, kết quả đầu ra sẽ là:

 AssertionError

Chúng tôi đã gặp lỗi khi chúng tôi chuyển một danh sách trống mark1 cho assertcâu lệnh, điều kiện trở thành sai và khẳng định dừng chương trình và đưa ra AssertionError.

Bây giờ chúng ta hãy chuyển một danh sách khác sẽ thỏa mãn assertđiều kiện và xem đâu sẽ là đầu ra của chúng ta.

Ví dụ 2: Sử dụng khẳng định với thông báo lỗi

 def avg(marks): assert len(marks) != 0,"List is empty." return sum(marks)/len(marks) mark2 = (55,88,78,90,79) print("Average of mark2:",avg(mark2)) mark1 = () print("Average of mark1:",avg(mark1))

Khi chúng ta chạy chương trình trên, kết quả đầu ra sẽ là:

 Trung bình của mark2: 78.0 AssertionError: Danh sách trống.

Chúng tôi đã chuyển một danh sách không trống mark2 và một danh sách trống mark1 cho avg()hàm và chúng tôi nhận được đầu ra cho danh sách mark2 nhưng sau đó chúng tôi gặp lỗi AssertionError: List is empty. Điều assertkiện được thỏa mãn bởi danh sách mark2 và chương trình tiếp tục chạy. Tuy nhiên, mark1 không thỏa mãn điều kiện và đưa ra giá trị AssertionError.

Những điểm chính cần nhớ

  • Các khẳng định là điều kiện hoặc biểu thức boolean luôn được cho là đúng trong mã.
  • assert câu lệnh nhận một biểu thức và thông báo tùy chọn.
  • assert câu lệnh được sử dụng để kiểm tra kiểu, giá trị của đối số và đầu ra của hàm.
  • assert câu lệnh được sử dụng làm công cụ gỡ lỗi vì nó sẽ tạm dừng chương trình tại điểm xảy ra lỗi.

thú vị bài viết...