اذهب إلى المحتوى
  • 0

كيف أحدد نوع كائن في البايثون ؟

ahmed1990

السؤال

Recommended Posts

  • 0

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

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

كما يمكنك أيضا استخدام دالة isinstance وهذه الدالة مدمجة أيضا في البايثون، وتفيد خاصة في حالات الكشف عن أنواع الدالات الموروثة كما في المثال التالي:

>>> class Test1 (object):
        pass
>>> class Test2 (Test1):
        pass
>>> a = Test1()
>>> b = Test2()
>>> type(a) is Test1
True
>>> type(b) is Test2
True
>>> isinstance(b, Test1)
True
>>> isinstance(b, Test2)
True
>>> isinstance(a, Test1)
True
>>> isinstance(a, Test2)
False
>>> isinstance([], list)
True
>>> isinstance({}, dict)
True

كما أن المعامل الثاني لدالة isinstance() تقبل مجموعة من الأنواع على شكل tuple، فإذا أردت مثلا التأكد من مجموع أنواع في المرة الواحد، فستقوم isinstance() بإرجاع true إذا كان الكائن أحد هذه الأنواع:

>>> isinstance([], (tuple, list, set))
True

المصادر: 1 2

تم التعديل في بواسطة هشام رزق الله
رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...