কম্পিউটার টিউটোরিয়াল

পাইথনে অ্যাসারশন (Assertions)

অ্যাসারশন হলো একটি স্যানিটি-চেক যা আপনি প্রোগ্রাম টেস্টিং শেষে অন বা অফ করতে পারেন।

অ্যাসারশনকে সহজে raise-if স্টেটমেন্ট (বা আরও সঠিকভাবে raise-if-not) চিন্তা করা যায়। একটি এক্সপ্রেশন টেস্ট করা হয়, এবং ফলাফল false হলে একটি এক্সসেপশন raise হয়।

প্রোগ্রামাররা প্রায়শই ফাংশনের শুরুতে ভ্যালিড ইনপুট চেক করার জন্য এবং ফাংশন কলের পর ভ্যালিড আউটপুট চেক করার জন্য অ্যাসারশন রাখেন।

assert স্টেটমেন্ট

assert স্টেটমেন্ট এনকাউন্টার করলে পাইথন সাথে যাওয়া এক্সপ্রেশন ইভ্যালুয়েট করে, যা আশাকৃতভাবে true। এক্সপ্রেশন false হলে পাইথন AssertionError এক্সসেপশন raise করে।

সিনট্যাক্স for assert:

assert Expression[, Arguments]

অ্যাসারশন ফেল হলে পাইথন ArgumentExpression-কে AssertionError-এর আর্গুমেন্ট হিসেবে ব্যবহার করে। AssertionError এক্সসেপশন try-except দিয়ে ক্যাচ এবং হ্যান্ডল করা যায়, কিন্তু হ্যান্ডল না করলে প্রোগ্রাম টারমিনেট হয়ে ট্রেসব্যাক দেবে।

উদাহরণ

কেলভিন থেকে ফারেনহাইটে তাপমাত্রা রূপান্তরকারী ফাংশন। যেহেতু শূন্য ডিগ্রি কেলভিন সর্বনিম্ন তাপমাত্রা, তাই 네가টিভ তাপমাত্রা দেখলে ফাংশনটি বails আউট:

#!/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)

আউটপুট

32.0
451
Traceback (most recent call last):
  File "test.py", line 9, in 
    print KelvinToFahrenheit(-5)
  File "test.py", line 4, in KelvinToFahrenheit
    assert (Temperature >= 0), "Colder than absolute zero!"
AssertionError: Colder than absolute zero!
  1. পাইথন if ক্লজে break স্টেটমেন্ট ব্যবহার করা যায় কি?

  2. পাইথন if...elif...else স্টেটমেন্টের সিনট্যাক্স কী?

  3. পাইথন if...else স্টেটমেন্টের বেসিক সিনট্যাক্স কী?

  4. পাইথনে assert স্টেটমেন্টের ব্যবহার