assertion

  • مدرس: علی بیگدلی
  • تاریخ انتشار: Aug 24, 2020

assertion یا تاکید

assertion و در حقیقت به نوعی تایید اطلاعات به عنوان یک شرط بررسی صحت درزبان پایتون در نظر گرفته می شود که شما می توانید آن را در حالت on و یا off در انتهای تست برنامتون قرار بدید. یک نمونه که در آن در صورتی که با خطایی مواجه شد یک exception raise را برای بررسی Assertion و یا تایید اطلاعات صدا خواهد زد.

print(1)
assert 2 + 2 == 4
print(2)
assert 1 + 1 == 3
print(3)

خروجی:

>>>
1
2
AssertionError
>>>

نکته:برنامه نویسان اغلب در آغاز یک تابع برای تایید ورودی معتبر و بعد از فراخوانی تابع برای بررسی خروجی معتبر یک assertion قرار می دهند. یک assertion می تواند یک آرگومان دوم را داشته باشد که در صورتی که ادعا ناقص باشد به AssertionError انتقال دهد.

temp = -10
assert (temp >= 0), "Colder than absolute zero!"

خروجی:

>>>
AssertionError: Colder than absolute zero!
>>>

نکته:استثناء AssertionError می تواند مانند هر استثنائی دیگر با استفاده از دستور try-except به دست آید و اگر چنین کاری انجام نشود، این نوع استثنا برنامه را خاتمه می دهد.

ثبت دیدگاه
نام *
ایمیل*
دیدگاه *
5دیدگاه
  • taha1386
    2 years, 6 months ago

    اقای بیگدلی اینطوری میشه ؟

    try:
    temp = -10
    assert (temp >= -1263), "Colder than absolute zero!"
    finally:
    print("EROR!")

    • علی بیگدلی
      2 years, 6 months ago

      if not temp >= 1263:
      raise
      else:
      print(error)

  • taha1386
    2 years, 6 months ago

    خیلی خیلی ممنونم . مشکل حل شد

  • taha1386
    2 years, 6 months ago

    سلام اقای بیگدلی خسته نباشید . من وقتی این دستور رو میزارم

    temp = -10
    assert (temp >= -100), "Colder than absolute zero!"

    خروجی هیچی به من نمیده .. چیکار کنم تا وقتی این طور شد به جایی که خروجی نده یک متنی رو وارد کنم و اون رو بده ممنون میشم راهنمایی کنید...

    • علی بیگدلی
      2 years, 6 months ago

      توی ساختار assertion اینطور تعریف شده که در صورت عدم صحت شرط درست شده برنامه رو متوقف کنه شما خیلی راحت می تونید با شرط های مربوط به if خواسته خودتون برسید و هر جا لازم شد raise انجام بدید