0Pricing
Python Academy · درس

تعريف الدوال واستدعاؤها

أنشئ الدوال باستخدام def واستدعها بالوسائط

تعريف الدوال واستدعاؤها درس مجاني في Python Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Python Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Python Academy 4 دروس في المجموع.

مقدمة

الدوال كتل قابلة لإعادة الاستخدام من الشيفرة، وتُعرَّف باستخدام def. وهي تتجنب التكرار وتجعل اختبار البرامج وصيانتها أسهل.

الكلمة المفتاحية def

تعرّف `def greet(name):` دالة. ويكون جسمها مزاحًا إلى الداخل. استدعوها باستخدام `greet('Alice')`.
def greet(name):
    print('Hello', name)
greet('Alice')

المعطيات الموضعية

تُمرَّر المعطيات بحسب موضعها. فمثلًا، `def add(a, b): return a + b`، ويعطي `add(3,4)` القيمة 7.
def add(a, b):
    return a + b
print(add(3, 4))

عبارة return

ترسل return قيمة إلى المستدعي. وتعيد الدالة التي لا تحتوي على return القيمة None ضمنيًا.
def square(x):
    return x * x
result = square(5)
print(result)

قيم الإرجاع المتعددة

تعيد `def min_max(lst): return min(lst), max(lst)` قيمة tuple. ويمكن فك حزمها باستخدام `lo, hi = min_max(lst)`.
def min_max(lst):
    return min(lst), max(lst)
lo, hi = min_max([3,1,4,1,5])
print(lo, hi)

السلاسل التوثيقية

تُعد السلسلة النصية الأولى في جسم الدالة سلسلتها التوثيقية: `"""One-line summary."""` ويمكن الوصول إليها باستخدام help() أو func.__doc__.
def greet(name):
    """Return a greeting string."""
    return f"Hello {name}"
print(greet.__doc__)

عدد متغير من المعطيات

تجمع `def func(*args)` المعطيات الموضعية الإضافية في tuple. ويفيد ذلك عندما لا تعرفون عدد المعطيات مسبقًا.
def total(*nums):
    return sum(nums)
print(total(1,2,3,4))

الدوال ككائنات

الدوال كائنات من الدرجة الأولى. يمكنكم إسنادها إلى متغيرات، أو تمريرها كمعطيات، أو تخزينها في قوائم.
def double(x): return x * 2
fn = double
print(fn(5))

الاستدعاء مع فك الحزم

يفك `args = [1,2]; f(*args)` حزم قائمة على هيئة معطيات موضعية. ويفك `d = {'a':1}; f(**d)` حزم قاموس على هيئة معطيات مسماة.
def add(a, b): return a + b
args = [3, 4]
print(add(*args))

دوال Lambda

تُعد `lambda x: x*2` دالة مجهولة في سطر واحد. استخدموها للاستدعاءات الراجعة القصيرة، وفضّلوا الدوال المسماة لأي منطق معقد.
double = lambda x: x * 2
print(double(5))
print(list(map(lambda x: x**2, [1,2,3])))

الدوال المتداخلة

يمكن تعريف الدوال داخل دوال أخرى. وتستطيع الدالة الداخلية الوصول إلى المتغيرات المحلية للدالة الخارجية، وهذا ما يُسمى closure.
def outer(x):
    def inner(y):
        return x + y
    return inner
add5 = outer(5)
print(add5(3))

تحقق سريع

ماذا تعيد الدالة إذا لم تتضمن عبارة return صريحة؟

مراجعة

صيغة الدوال هي `def name(args): body`. ترسل return القيم إلى المستدعي. ويمكن إرجاع عدة قيم عبر tuple. وتُستخدم Lambda للتعبيرات البسيطة في سطر واحد. والدوال كائنات من الدرجة الأولى.

تابعوا التقدم

أحسنتم! انتقلوا إلى الدرس التالي لمواصلة تقدمكم.

الأسئلة الشائعة

هل درس «تعريف الدوال واستدعاؤها» مجاني؟

نعم — نص درس «تعريف الدوال واستدعاؤها» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Python Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Python Academy 4 دروس في المجموع.

ماذا ستتعلم في «تعريف الدوال واستدعاؤها»؟

أنشئ الدوال باستخدام def واستدعها بالوسائط تتمرن على Python Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Python Academy؟

لا تُشترط خبرة سابقة. Python Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «تعريف الدوال واستدعاؤها»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Python Academy هذا؟

نعم. كل درس في Python Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. تعريف الدوال واستدعاؤها
  2. الوسائط الافتراضية والمسماة
  3. args وkwargs
  4. القيم المُعادة ونطاق الرؤية
← العودة إلى Python Academy