"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية الاختيار بين `type()` و`isinstance()` في بايثون للتحقق من نوع الكائن؟

كيفية الاختيار بين `type()` و`isinstance()` في بايثون للتحقق من نوع الكائن؟

تم النشر بتاريخ 2024-12-23
تصفح:914

How to Choose Between Python's `type()` and `isinstance()` for Object Type Checking?

كيفية تحديد نوع الكائن

يعد تحديد نوع الكائن أمرًا بالغ الأهمية لضمان اتساق البيانات وتنفيذ العمليات وفقًا لذلك. توفر بايثون وظيفتين مدمجتين لهذا الغرض: type() وisinstance().

استخدام type()

تقوم وظيفة type() بإرجاع النوع الدقيق من كائن. على سبيل المثال:

>>> type([]) is list
True
>>> type({}) is dict
True
>>> type('') is str
True
>>> type(0) is int
True

استخدام isinstance()

تتحقق وظيفة isinstance() مما إذا كان الكائن مثيلًا لنوع معين، بما في ذلك الأنواع الموروثة. على عكس type()، فهو يدعم وراثة النوع.

>>> isinstance(b, Test1)
True
>>> isinstance(b, Test2)
True
>>> isinstance(a, Test1)
True
>>> isinstance(a, Test2)
False
>>> isinstance([], list)
True
>>> isinstance({}, dict)
True

الاختيار بين type() وisinstance()

بشكل عام، يُفضل isinstance() للتحقق من أنواع الكائنات لأنه يأخذ الأنواع المشتقة في الاعتبار. يعد Type () أكثر ملاءمة إذا كنت بحاجة إلى كائن النوع المحدد لأسباب محددة. فيما يلي مثال حيث يمكنك استخدام isinstance():

def print_object_type(obj):
  if isinstance(obj, int):
    print("Integer")
  elif isinstance(obj, float):
    print("Float")
  elif isinstance(obj, str):
    print("String")
  else:
    print("Unknown type")
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3