عندما نستخدم دالة، فإننا عادة نستدعي الدالة ، وبعد ذلك سيتم تنفيذ محتويات الدالة المطلوبة بالتسلسل. ومع ذلك، نحتاج في بعض الأحيان إلى أكثر من مجرد خطوات التنفيذ، نحتاج أيضًا إلى الحصول على بعض المتغيرات في الدالة عندما نستخدم دالة، يمكننا أيضًا إضافة قيمة إرجاع للحصول على بعض البيانات في الدالة.
لإرجاع قيمة في بايثون، تحتاج إلى استخدام عبارة الإرجاع:
returndata
لنأخذ مثالاً لفهم القيمة المرجعة. إذا أردنا استخدام دالة لحل قيم المتغير a والمتغير b، ثم أردنا إخراج مجموعهما في الوظيفة الرئيسية، فلنلقي نظرة على شفرة:
defget_sum(a,b):sum=a+breturnsumget_sum(1,2)
إذا كتبنا الدالة في النمط أعلاه ثم قمنا بإخراجها، فلن تكون هناك نتيجة إخراج، لأننا نعيد المبلغ، وهو ما يعادل قيمة هذا الجزء من get_sum(1,2)، ولكن لا يتم تشغيله. إذا قمنا بتعديل إليك الكود:
defget_sum(a,b):sum=a+bprint('تم استدعاء هذه الوظيفة')returnsumprint('أكمل نقل القيمة المرجعة')s=get_sum(1,2)print(s)
الإخراج هو:
تسمى هذه الوظيفة 3
استخدم هذه الطريقة لفهمها. في العبارة s = get_sum(1,2)، يتم استدعاء الوظيفة أولاً، ثم يتم تنفيذ الوظيفة بالتسلسل. بعد عبارة الإرجاع، تكون قيمة الوظيفة مساوية للمجموع، ثم لن يتم تنفيذ البيان اللاحق بعد الآن. بعد إرجاع القيمة، يمكن لـ s إجراء عملية إسناد، وتعيين قيمة الإرجاع للدالة إلى s، ثم إخراجها لرؤية نتيجة الإخراج.
دعونا نلقي نظرة على التخطيطي:
عندما نستخدم دالة لإرجاع قيمة، فإنها في بعض الأحيان لن تُرجع قيمة واحدة فحسب، بل قد تُرجع أيضًا قيمًا متعددة، فلنلقي نظرة على كيفية إرجاع قيم متعددة.
في الواقع، عندما نعيد قيمًا متعددة، فإن المبدأ مشابه عندما نعيد قيمة واحدة. الشيء الوحيد الذي نحتاج إلى الانتباه إليه هو أنه عندما نعيد قيمًا متعددة، يتم تخزين القيم المتعددة في صفوف.
لننظر إلى المثال التالي:
defget_data():a=1b=2c=3d=4returna,b,c,dprint('نوع قيمة الإرجاع:',type(get_data()))print('قيمة الإرجاع:',get_data())
نتيجة الإخراج:
نوع قيمة الإرجاع: <class'tuple'>قيمة الإرجاع: (1,2,3,4)
يمكننا أن نرى أنه عند إرجاع قيم متعددة، يتم تخزينها في صف وتخزينها في صف. هناك العديد من الطرق التي نريد استخدام هذه البيانات بها.
يمكننا بعد ذلك استخدام البيانات التي تم إرجاعها أعلاه مباشرةً، ويمكننا استخدام 4 متغيرات للتعريف المباشر.
ط، س، ك، ل = get_data () طباعة (ط، س، ك، ل)
الإخراج هو:
1234
يمكننا أيضًا طباعة قيمة الإرجاع في حلقة:
foriinget_data():print('هذه هي البيانات %dth التي تم إرجاعها'%i)
الإخراج هو:
هذه هي البيانات الأولى التي تم إرجاعها هذه هي البيانات الثانية التي تم إرجاعها هذه هي البيانات الثالثة التي تم إرجاعها هذه هي البيانات الرابعة التي تم إرجاعها
هذا كل شيء بالنسبة للقيمة المرجعة. القيمة المرجعة مهمة جدًا في بنية الوظيفة. في هذا القسم، يتم استخدام مثال بسيط لتقديم القيمة المرجعة للدالة. يجب على الجميع تعزيز استخدام القيمة المرجعة في الدراسات اللاحقة.