الخاصيه التي تكون قيمتها اسم الداله المطلوب استدعائها

الخاصيه التي تكون قيمتها اسم الداله المطلوب استدعائها

الخاصية التي تكون قيمتها اسم الدالة المطلوب استدعائها

مقدمة

في علوم الحاسوب، دالة الاستدعاء هي آلية برمجية تسمح لدالة باستدعاء نفسها أو دالة أخرى. وعندما يتم استدعاء دالة، يتم إنشاء إطار جديد للكداس لتخزين المتغيرات المحلية والدالة التي يتم استدعاؤها. كما يتم تمرير وسيطات الدالة إلى الإطار الجديد للكداس. وعندما تنتهي الدالة من التنفيذ، يتم إرجاع قيمتها إلى الدالة التي استدعتها.

المتغيرات المحلية

المتغيرات المحلية هي المتغيرات التي يتم تعريفها داخل دالة. لا يمكن الوصول إلى المتغيرات المحلية من خارج الدالة التي تم تعريفها فيها. فعلى سبيل المثال، إذا كان لدينا الدالة التالية:

“`

def my_function():

x = 10

my_function()

print(x)

“`

عند تشغيل هذا الكود، ستظهر رسالة خطأ لأن المتغير `x` غير معرف خارج الدالة `my_function()`.

وسيطات الدالة

وسيطات الدالة هي القيم التي يتم تمريرها إلى الدالة عند استدعائها. ويمكن تمرير الوسيطات بواسطة القيمة أو بواسطة المرجع. فعلى سبيل المثال، إذا كان لدينا الدالة التالية:

“`

def my_function(x):

x = x + 1

my_function(10)

“`

في هذا المثال، يتم تمرير المتغير `x` بواسطة القيمة. وهذا يعني أن قيمة المتغير `x` يتم نسخها إلى إطار الكداس للدالة `my_function()`. وعندما يتم تنفيذ الدالة `my_function()`, يتم زيادة قيمة المتغير `x` إلى 11. ومع ذلك، فإن هذه الزيادة لا تؤثر على قيمة المتغير `x` خارج الدالة `my_function()`.

الدالة المُرجِعة

الدالة المُرجِعة هي دالة تُعيد قيمة. ويمكن استخدام قيمة الدالة المُرجِعة لتخزينها في متغير أو لتمريرها إلى دالة أخرى. فعلى سبيل المثال، إذا كان لدينا الدالة التالية:

“`

def my_function():

return 10

x = my_function()

print(x)

“`

في هذا المثال، تُعيد الدالة `my_function()` القيمة 10. ويتم تخزين هذه القيمة في المتغير `x`. وعندما يتم تنفيذ الدالة `my_function()`, يتم إرجاع قيمتها إلى الدالة التي استدعتها.

التعبيرات المُشغَلة

التعبيرات المُشغَلة هي تعبيرات يتم تنفيذها في وقت الاستدعاء. وهذا يعني أنه يتم تنفيذ التعبيرات المُشغَلة قبل تنفيذ التعليمات الموجودة في الدالة التي يتم استدعاؤها. فعلى سبيل المثال، إذا كان لدينا الدالة التالية:

“`

def my_function(x, y):

return x + y

x = my_function(10, 20)

print(x)

“`

في هذا المثال، يتم تنفيذ التعبيرات `10` و`20` قبل تنفيذ التعليمات الموجودة في الدالة `my_function()`. ويتم إرجاع قيمة التعبيرات المُشغَلة، وهي 30، إلى الدالة التي استدعتها.

الاستدعاء الذاتي

الاستدعاء الذاتي هو عندما تستدعي دالة نفسها. ويمكن استخدام الاستدعاء الذاتي لإنشاء حلقات أو لتنفيذ خوارزميات معينة. فعلى سبيل المثال، إذا كان لدينا الدالة التالية:

“`

def my_function(x):

if x == 0:

return 1

else:

return x my_function(x – 1)

x = my_function(5)

print(x)

“`

في هذا المثال، تستدعي الدالة `my_function()` نفسها حتى تصل إلى القيمة 0. وعندما تصل إلى القيمة 0، تُعيد الدالة `my_function()` القيمة 1. وبعد ذلك، يتم ضرب قيمة الدالة `my_function()` بالقيمة `x` حتى يتم الوصول إلى القيمة 120.

الاستدعاء المتبادل

الاستدعاء المتبادل هو عندما تستدعي دالتان بعضهما البعض. ويمكن استخدام الاستدعاء المتبادل لإنشاء دورات أو لتنفيذ خوارزميات معينة. فعلى سبيل المثال، إذا كان لدينا الدالتين التاليتين:

“`

def my_function1(x):

return my_function2(x)

def my_function2(x):

return my_function1(x)

x = my_function1(10)

print(x)

“`

في هذا المثال، تستدعي الدالة `my_function1()` الدالة `my_function2()`، وتستدعي الدالة `my_function2()` الدالة `my_function1()`. وهذا يسبب دورة لا نهاية لها، وستستمر الدالتان في استدعاء بعضهما البعض إلى الأبد.

الخلاصة

تعتبر دالة الاستدعاء آلية برمجية مهمة تسمح لدالة باستدعاء نفسها أو دالة أخرى. ويمكن استخدام دالة الاستدعاء لإنشاء حلقات أو لتنفيذ خوارزميات معينة. كما يمكن استخدام دالة الاستدعاء لإنشاء دورات أو لتنفيذ خوارزميات معينة.

أضف تعليق