def تعريف دالة

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

def تعريف دالة

def يعرّف دالة؛ ويمكن أن تتضمن قائمة معاملات وتعبير return.

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

📝 الصياغة

def name(params):
    body
    [return value]

▶ مثال

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

المخرجات:

Hi, Alice!
المزيد من الحالات قادم قريباً — تابعونا.

❓ أسئلة شائعة

Qإذا لم يحتوي جسم الدالة على `return`، ماذا يُرجع استدعاؤها؟
Aتُرجع `None`. `def` يعرّف كائن دالة فقط؛ يُنفَّذ الجسم عند الاستدعاء فقط. الدالة التي لا تحتوي `return` أو تحتوي `return` مجردة تُرجع `None` دائمًا.
Qلماذا لا يسري تعديل متغير عام داخل دالة؟
Aلأن إسناد اسم داخل دالة يُنشئ متغيرًا محليًا افتراضيًا ولا يلمس المتغير الخارجي الذي يحمل الاسم نفسه. لتعديل متغير عام على مستوى الوحدة، يجب التصريح بـ `global` داخل الدالة أولاً.
Qلماذا أحصل على رسالة «missing 1 required positional argument» عند استدعاء دالة؟
Aيجب توفير جميع المعامِلات الإلزامية المعرَّفة في كل استدعاء. إذا كنت لا تريد تمريرها في كل مرة، أعطِ المعامِل قيمة افتراضية (`def f(x=1)`)، أو مرّرها صراحةً كمعامِل اسمي `f(x=2)`.
Qما الفرق بين `def` و`lambda`؟
Aيمكن لـ `def` أن يحتوي على عدة عبارات ونصوص توثيقية (docstrings) وتعليقات نوع — إنه أكثر عمومية. بينما يمكن لـ `lambda` أن يكون تعبيرًا واحدًا فقط، مناسبًا كمعامِل لدوال مثل `sorted` و`map` أو `filter`. في معظم الحالات، فضّل `def`.
Web-Tutorial.com

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

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

100%