vars() __dict__ للكائن
آخر تحديث: 2026-09-22
vars() __dict__ للكائن
vars() بدون وسائط يكافئ locals()؛ وإذا مُرِّر كائن يُعيد __dict__ الخاص بالكائن.
| التصنيف | الدوال المدمجة |
|---|---|
| النوع | دالة مدمجة |
| إصدار بايثون | all |
📝 الصياغة
vars([object])
⚙️ المعاملات
| object اختياري | A module, class, or instance; omitted returns the local namespace.(القيمة الافتراضية:None) |
|---|
القيمة المُعادة:The object's __dict__ mapping; without args, same as locals().
💥 الاستثناءات
TypeError— Raised when the object has no __dict__ (e.g., a list).
▶ مثال
عدّل الكود واضغط تشغيل لرؤية النتيجة في لوحة المخرجات:
المخرجات:
{'x': 1}
🏷️ دوال مدمجة ذات صلة
💡 حالات ذات صلة
المزيد من الحالات قادم قريباً — تابعونا.
❓ أسئلة شائعة
Qماذا تُرجع vars(obj)؟
Aتُرجع __dict__ للكائن، أي قاموس الخصائص التي يعرّفها المثيل نفسه، دون الخصائص الموروثة.
Qهل vars() بدون وسيطات تطابق locals()؟
Aنعم، كلاها يُرجع قاموس متغيرات النطاق المحلي الحالي.
Qلماذا تُثير vars([1, 2]) خطأ TypeError؟
Aمثيل القائمة لا يملك خاصية __dict__ — كثير من الأنواع المدمجة لا تخزن قاموس مثيل؛ لمثل هذه الكائنات استخدم dir() لفحص أسماء الخصائص.
Qما الفرق بين vars() و dir()؟
Avars(obj) تُرجع أزواج مفتاح-قيمة لخصائص المثيل نفسه؛ بينما dir(obj) تُرجع قائمة بكل أسماء الخصائص التي يمكن إيجادها (بما فيها الموروثة).