এই নিবন্ধে আমরা পাইথন ৩.x-এ isinstance() এবং type() ফাংশন নিয়ে আলোচনা করব। এই মেথডগুলো মূলত রেফারেন্স এবং এন্টিটিয়ের নেচার চেক করতে ব্যবহৃত হয়।
isinstance() মেথড
সিনট্যাক্স
isinstance(object_entity, comparison_equivalent)
রিটার্ন ভ্যালু - True যদি object_entity comparison_equivalent-এ ম্যাচ করে
এখন isinstance() মেথড কীভাবে কাজ করে তা দেখি:
উদাহরণ
class Test:
var = 786
TestInstance = Test()
print(isinstance(TestInstance, Test))
print(isinstance(TestInstance, (list, tuple)))
print(isinstance(TestInstance, (list, tuple, Test)))
আউটপুট
True False True
প্রথম এবং তৃতীয় লাইন True দেখিয়েছে কারণ Test এবং TestInstance-এর রেফারেন্স ম্যাচ করেছে। দ্বিতীয় লাইন False দেখিয়েছে কারণ TestInstance-এর রেফারেন্স list এবং tuple রেফারেন্সের সাথে ম্যাচ করেনি।
আরেকটি উদাহরণ দেখা যাক ভালো বুঝতে।
উদাহরণ
Test = [1, 2, 3] result = isinstance(Test, list) print(Test, 'list:', result) result = isinstance(Test, dict) print(Test, 'dict:', result) result = isinstance(Test, (dict, list)) print(Test, 'dict or list:', result)
আউটপুট
[1, 2, 3] list: True [1, 2, 3] dict: False [1, 2, 3] dict or list: True
এখানে যতক্ষণ Test list ইনস্ট্যান্সের সাথে ম্যাচ করে True ডিসপ্লে হয়, অন্যথায় False।
type() মেথড
সিনট্যাক্স
type(entity)
রিটার্ন ভ্যালু - আর্গুমেন্ট হিসেবে পাস করা এন্টিটিয়ের টাইপ
এখন type() মেথড কীভাবে কাজ করে তা দেখি:
উদাহরণ
Dictinp = {1: 'Tutorial', 2: 'Point'}
print(type(Dictinp))
Listinp = ['t', 'u', 't']
print(type(Listinp))
Tupleinp = ('Tut', 'orial', 'Point')
print(type(Tupleinp))
আউটপুট
এখানে আউটপুটে মেথড কল করার সময় পাস করা এন্টিটিয়ের রেসপেক্টেড টাইপ থাকে। এই টাইপ কমপেরিজন এবং অন্যান্য কন্ডিশনাল স্টেটমেন্টে ব্যবহার করা যায়।
এখন কন্ডিশনাল স্টেটমেন্টের একটি উদাহরণ দেখা যাক:
উদাহরণ
Listinp = ['t', 'u', 't']
Tupleinp = ('Tut', 'orial', 'Point')
if type(Listinp) is not type(Tupleinp):
print("Type mismatch")
else:
print("Type match")
আউটপুট
Type Mismatch
এখানে Type mismatch ডিসপ্লে হয়েছে কারণ লিস্ট এবং টাপল দুটি ভিন্ন ডেটা টাইপ।
উপসংহার
এই নিবন্ধে আমরা পাইথন ৩.x-এ type() এবং isinstance() মেথড বাস্তবায়ন শিখেছি।