Computer >> Máy Tính >  >> Lập trình >> Python

Khẳng định bằng Python

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!