পাইথনে অবজেক্ট টাইপ চেক করা
একটি এলিমেন্টের টাইপ চেক করতে, আপনাকে
isinstance ফাংশনটি প্রয়োগ করতে হবে। এটি প্রথম
প্যারামিটার হিসেবে এলিমেন্ট নেয়, এবং দ্বিতীয়টি -
যে টাইপের জন্য এটি চেক করা হচ্ছে। এই ক্ষেত্রে
দ্বিতীয় প্যারামিটারের নাম হিসেবে সংশ্লিষ্ট টাইপে
ডেটা রূপান্তরকারী ফাংশনের নাম নেওয়া হয়: স্ট্রিং এর জন্য - str,
সংখ্যার জন্য - int, লিস্টের জন্য - list
ইত্যাদি। isinstance ফাংশনটি
বুলিয়ান মান রিটার্ন করে: যদি এলিমেন্টটি টাইপের সাথে
মেলে, তাহলে True রিটার্ন করা হবে, অন্যথায়
- False।
উদাহরণ
ধরুন আমাদের কাছে tst নামক একটি ভেরিয়েবল আছে।
এর মানটি একটি স্ট্রিং কিনা তা পরীক্ষা করা যাক।
এর জন্য if এর ডানপাশে
আমরা isinstance ফাংশনটি লিখব। এর
প্যারামিটারে আমরা tst এবং টাইপ
str পাস করব। যদি মান এবং ডেটা টাইপ
মেলে, তবে সংশ্লিষ্ট বার্তাটি প্রদর্শিত হোক:
tst = 'a'
if isinstance(tst, str):
print('string')
কোড 실행ের ফলাফল:
'string'
উদাহরণ
এখন চলুন দেখি ভেরিয়েবলটি একটি পূর্ণসংখ্যা কিনা:
tst = 12
if isinstance(tst, int):
print('integer')
কোড 실행ের ফলাফল:
'integer'
উদাহরণ
tst একটি ফ্লোটিং পয়েন্ট সংখ্যা কিনা তা পরীক্ষা করতে,
isinstance এর দ্বিতীয়
প্যারামিটারে float টাইপটি পাস করতে হবে:
tst = 12.0
if isinstance(tst, float):
print('float')
কোড 실행ের ফলাফল:
'float'
উদাহরণ
এখন চলুন একটি শর্ত লিখি যাতে tst
একটি লিস্ট কিনা তা পরীক্ষা করা যায়:
tst = [1, 2, 3]
if isinstance(tst, list):
print('list')
কোড 실행ের ফলাফল:
'list'
উদাহরণ
চলুন দেখি ভেরিয়েবলটি একটি টাপল কিনা:
tst = (1, 2, 3)
if isinstance(tst, tuple):
print('tuple')
কোড 실행ের ফলাফল:
'tuple'
উদাহরণ
এখন এমন একটি শর্ত সেট করি যাতে জানা যায়, ভেরিয়েবলের মানটি একটি ডিকশনারি কিনা:
tst = {'a': 1, 'b': 2, 'c': 3}
if isinstance(tst, dict):
print('dictionary')
কোড 실행ের ফলাফল:
'dictionary'
ব্যবহারিক সমস্যা
ধরুন আপনার একটি ভেরিয়েবল আছে। পরীক্ষা করুন, এর মানটি একটি পূর্ণসংখ্যা কিনা।
জানুন, প্রদত্ত ভেরিয়েবলটি একটি ফ্লোটিং পয়েন্ট সংখ্যা কিনা।
পরীক্ষা করুন, ভেরিয়েবলটিতে স্ট্রিং মান রয়েছে কিনা।
পরীক্ষা করুন, প্রদত্ত ভেরিয়েবলটি একটি ডিকশনারি কিনা।
পরীক্ষা করুন, প্রদত্ত ভেরিয়েবলটি একটি সেট কিনা।
পরীক্ষা করুন, প্রদত্ত ভেরিয়েবলটি একটি টাপল কিনা।
পরীক্ষা করুন, প্রদত্ত ভেরিয়েবলটি একটি লিস্ট কিনা।