staticmethod() مُزيّن الدالة الساكنة

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

staticmethod() مُزيّن الدالة الساكنة

@staticmethod يعلّم الدالة كدالة ساكنة: لا يستقبل self أو cls.

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

📝 الصياغة

@staticmethod
def func(...):

⚙️ المعاملات

func مطلوبThe function (callable) to wrap as a static method.

القيمة المُعادة:A static method descriptor; called without self or cls.

▶ مثال

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

المخرجات:

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

❓ أسئلة شائعة

Qما الفرق بين staticmethod و classmethod؟
Aلا يستقبل staticmethod أي وسيطة خاصة ويتصرف تمامًا كدالة عادية؛ بينما يستقبل classmethod كوسيطته الأولى cls (الصنف نفسه) ويمكنه الوصول إلى خصائص الصنف.
Qهل يمكن لمثيل استدعاء أسلوب ثابت؟
Aنعم — كلاهما C().add(1, 2) و C.add(1, 2) يعملان بوسيطات متطابقة، دون تمرير self تلقائيًا كما في أساليب المثيل.
Qلماذا لا أستخدم دالة على مستوى وحدة بدل staticmethod؟
Aجمْع الدوال المساعدة المتعلقة بمنطق الصنف داخل نطاق اسم الصنف ينظّم الكود أكثر، ويمكن وراثتها وتجاوزها في الأصناف الفرعية.
Qهل تختلف دالة @staticmethod عن دالة عادية في السلوك؟
Aلا منطقيًا، فقط في «الانتماء»: الأسلوب الثابت يُستدعى عبر الصنف ويرتبط بمنطقه، بينما تعيش الدالة العادية في نطاق الوحدة.
Web-Tutorial.com

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

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

100%