getattr() الحصول على خاصية كائن

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

getattr() الحصول على خاصية كائن

getattr(obj, name[, default]) تُرجع الخاصية name للكائن obj؛ إذا لم تكن موجودة تُرجع default (وإلا ترفع AttributeError).

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

📝 الصياغة

getattr(object, name[, default])

⚙️ المعاملات

object مطلوبThe object to read the attribute from.
name مطلوبThe attribute name as a string.
default اختياريValue returned if the attribute is missing.(القيمة الافتراضية:None)

القيمة المُعادة:The attribute value, or default if the attribute is missing.

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

▶ مثال

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

المخرجات:

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

❓ أسئلة شائعة

Qما الفرق بين getattr(obj, 'x', 'default') و obj.x؟
Aعند وجود الخاصية تكون النتيجة نفسها؛ وعند عدم وجودها تُرجع getattr 'default' بينما obj.x يُثير AttributeError مباشرة.
Qفي أي سيناريو يجب استخدام getattr؟
Aعندما يُحسب اسم الخاصية ديناميكيًا (من متغير أو إعدادات أو وصل سلاسل) يكون getattr(obj, attr_name) غير قابل للاستبدال بصيغة النقطة.
Qكيف يعملان getattr و hasattr معًا؟
Aيمكن الفحص بـ hasattr(obj, 'x') ثم الحصول بـ getattr(obj, 'x')؛ وبصورة أبلغ، getattr(obj, 'x', None) يحل في خطوة واحدة.
Qماذا يحدث إذا حذفت default ولم توجد الخاصية؟
Aيُثار AttributeError؛ وإذا لم تكن name سلسلة نصية يُثار TypeError.
Web-Tutorial.com

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

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

100%