عـــلـے | Ali.N
تابع داخلی (built-in function) isinstance چیه و چه کاربردی داره؟
تابع isinstance برای بررسی نوع (type) یک مقدار استفاده میشه ، این تابع بررسی میکنه که آیا یک متغیر، نمونهای (instance) از یک نوع مشخص هست یا نه
ساختار کلی:
isinstance(object, classinfo)
مقداری که میخواهیم نوع آن را بررسی کنیم: object
نوع (یا انواع) مورد انتظار: classinfo
مثال:
def validate(value):
if isinstance(value, int):
return True
return False
در این تابع:
اگر value از نوع int باشه ، مقدار True برمیگرده
در غیر این صورت False
خروجیها:
print(validate(1)) # True
عدد 1 از نوع int هست ، پس نتیجه True میشه
print(validate('1')) # False
رشته '1' از نوع str هست ، نه int، پس False برمیگرده
print(validate(2)) # True
عدد 2 هم از نوع int هست ، بنابراین خروجی True هستش
نکته مهم:
برخلاف مقایسه مستقیم نوع با
type(value) == int
استفاده از isinstance بهتر و استانداردتر هست
چون:
* از وراثت (inheritance) پشتیبانی میکند
* خواناتر و منعطفتر است
مثال تکمیلی (چند نوع)
isinstance(value, (int, float))
در این حالت اگر value عدد صحیح یا اعشاری باشد، نتیجه True خواهد بود.
205 ·