Assertion یا تاکید
Assertion در پایتون ابزاری برای بررسی صحت و درستی شرایط در زمان اجرای برنامه است. این قابلیت به عنوان یک شرط صحتسنجی استفاده میشود تا مطمئن شویم که فرضیات یا ورودیها در نقاط مختلف کد برقرار هستند. در صورت برقرار نبودن شرط، یک استثنای AssertionError
ایجاد میشود. معمولاً از Assertion برای تست و اعتبارسنجی در زمان توسعه استفاده میشود و میتوان آن را در محیط تولید (production) غیرفعال کرد.
print(1)
assert 2 + 2 == 4
print(2)
assert 1 + 1 == 3
print(3) # این خط اجرا نمیشود
خروجی:
>>>
1
2
AssertionError
>>>
نکته: برنامهنویسان معمولاً در ابتدای توابع برای اعتبارسنجی ورودیها و بعد از اجرای تابع برای بررسی صحت خروجیها از assert
استفاده میکنند. علاوه بر این، assert میتواند آرگومان دوم به عنوان پیام خطا دریافت کند تا در صورت شکست شرط، پیام توضیحی به AssertionError
اضافه شود.
temp = -10
assert (temp >= 0), "Colder than absolute zero!"
خروجی:
>>>
AssertionError: Colder than absolute zero!
>>>
نکته مهم: در محیطهای تولید (production)، معمولا Assertionها غیرفعال میشوند تا عملکرد برنامه بهینه باشد. این کار با اجرای برنامه همراه گزینه -O
(به معنی optimized) صورت میگیرد که باعث میشود تمامی دستورات assert
نادیده گرفته شوند. به همین دلیل، assert نباید برای مدیریت خطاهای برنامه یا منطق اصلی استفاده شود و بیشتر مناسب تست و دیباگ است.