hasattr() هل توجد خاصية

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

hasattr() هل توجد خاصية

hasattr(obj, name) تتحقق مما إذا كان للكائن obj خاصية باسم name.

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

📝 الصياغة

hasattr(object, name)

⚙️ المعاملات

object مطلوبThe object to check for the attribute (any object).
name مطلوبAttribute name as a string, e.g. 'attr'.

القيمة المُعادة:A bool: True if the object has the named attribute, otherwise False.

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

▶ مثال

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

المخرجات:

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

❓ أسئلة شائعة

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

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

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

100%