type() النوع/إنشاء صنف ديناميكيًا

آخر تحديث: 2026-09-22

type() النوع/إنشاء صنف ديناميكيًا

type(obj) يُعيد نوع الكائن؛ type(name, bases, dict) يُنشئ صنفًا جديدًا ديناميكيًا.

التصنيفالدوال المدمجة
النوعدالة مدمجة
إصدار بايثونall

📝 الصياغة

type(object)
type(name, bases, dict)

⚙️ المعاملات

object مطلوبOne-arg form: the object whose type is queried.
name مطلوبThree-arg form: the class name (string); mutually exclusive with the one-arg form.
bases مطلوبThree-arg form: a tuple of base classes.
dict مطلوبThree-arg form: the class namespace dict (attributes/methods).

القيمة المُعادة:One-arg form: the object's type. Three-arg form: a newly created class.

💥 الاستثناءات

▶ مثال

عدّل الكود واضغط تشغيل لرؤية النتيجة في لوحة المخرجات:

المخرجات:

int
10
المزيد من الحالات قادم قريباً — تابعونا.

❓ أسئلة شائعة

Qماذا تُرجع type(42)؟
Aتُرجع — الصيغة الأحادية تُرجع نوع الكائن.
Qما الفرق بين type(x) == int و isinstance(x, int)؟
Aتعترف isinstance بالأصناف الفرعية: bool صنف فرعي من int، لذا isinstance(True, int) هي True بينما type(True) == int هي False؛ عمومًا isinstance أكثر أمانًا.
Qلأي غرض تكون الصيغة الثلاثية type(name, bases, dict)؟
Aتنشئ ديناميكيًا صنفًا جديدًا: type('MyClass', (object,), {'x': 10}) تعادل class MyClass(object): x = 10 — أساس البرمجة بالميتاكلاسات.
Qكيف أحصل على اسم نوع كائن؟
Aاستخدم type(obj).__name__، مثل type(42).__name__ يُرجع 'int'؛ print(type(x)) يعرض صيغة .
Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%