Xác nhận là một kiểm tra sự tỉnh táo mà bạn có thể bật hoặc tắt khi hoàn tất quá trình kiểm tra chương trình của mình.
Cách dễ nhất để nghĩ về một khẳng định là ví nó với một tăng nếu câu lệnh (hay chính xác hơn là câu lệnh raise-if-not). Một biểu thức được kiểm tra và nếu kết quả trả về sai, một ngoại lệ sẽ được đưa ra.
Khẳng định được thực hiện bởi câu lệnh khẳng định, từ khóa mới nhất của Python, được giới thiệu trong phiên bản 1.5.
Các lập trình viên thường đặt các xác nhận ở đầu một hàm để kiểm tra đầu vào hợp lệ và sau một lệnh gọi hàm để kiểm tra đầu ra hợp lệ.
Tuyên bố khẳng định
Khi gặp câu lệnh khẳng định, Python sẽ đánh giá biểu thức đi kèm, điều này hy vọng là đúng. Nếu biểu thức là false, Python sẽ tạo ra một ngoại lệ AssertionError.
Cú pháp để khẳng định là -
assert Expression[, Arguments]
Nếu xác nhận không thành công, Python sử dụng ArgumentExpression làm đối số cho AssertionError. Các ngoại lệ AssertionError có thể được bắt và xử lý giống như bất kỳ ngoại lệ nào khác bằng cách sử dụng câu lệnh try-exception, nhưng nếu không được xử lý, chúng sẽ chấm dứt chương trình và tạo ra một truy nguyên.
Ví dụ
Đây là một chức năng chuyển đổi nhiệt độ từ độ Kelvin sang độ F. Vì nhiệt độ ở 0 độ Kelvin lạnh như nhiệt độ, nên hàm sẽ tắt nếu thấy nhiệt độ âm -
#!/usr/bin/python def KelvinToFahrenheit(Temperature): assert (Temperature >= 0),"Colder than absolute zero!" return ((Temperature-273)*1.8)+32 print KelvinToFahrenheit(273) print int(KelvinToFahrenheit(505.78)) print KelvinToFahrenheit(-5)
Đầu ra
Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau -
32.0 451 Traceback (most recent call last): File "test.py", line 9, in <module> print KelvinToFahrenheit(-5) File "test.py", line 4, in KelvinToFahrenheit assert (Temperature >= 0),"Colder than absolute zero!" AssertionError: Colder than absolute zero!