عائد بايثون

Python Yield



العائد عبارة عن كلمة أساسية مضمنة في Python تُرجع القيمة (القيم) من دالة. لم يتم إنهاء تنفيذ الوظيفة. بدلاً من ذلك ، تقوم بإرجاع القيمة إلى المتصل وتحافظ على حالة تنفيذ الوظيفة. يتم استئناف تنفيذ الوظيفة من بيان العائد الأخير. يسمح لنا العائد بإنتاج سلسلة من القيم بدلاً من قيمة واحدة. يتم استخدامه داخل الجسم الوظيفي. تُعرف الوظيفة التي تحتوي على بيان العائد باسم وظيفة المولد.







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



تشرح هذه المقالة استخدام الكلمة المفتاحية الإنتاجية مع أمثلة.



بناء جملة العائد

صيغة العائد بسيطة ومباشرة. يبدأ العائد بالكلمة الأساسية وبناء الجملة على النحو التالي:





أثمرالقيمة

أمثلة

الآن ، دعنا نرى أمثلة لفهم استخدام وأعمال بيانات العائد. تقليديًا ، تنهي الكلمة الأساسية return تنفيذ البرنامج وتعيد قيمة في النهاية ، بينما تُرجع العائد تسلسل القيم. لا يخزن القيمة في الذاكرة ويعيد القيمة إلى المتصل في وقت التشغيل. في المثال الموضح أدناه ، يتم تعريف وظيفة المولد لتحديد السنة الكبيسة. القفزة هي تلك السنة التي تكون فيها القسمة على أربعة تعطي صفرًا كبقية. ترجع الكلمة الأساسية للإنتاجية قيمة السنة الكبيسة للمتصل. نظرًا لأنه سيحصل على قيمة السنة الكبيسة ، فإنه سيوقف تنفيذ البرنامج مؤقتًا ، ويعيد القيمة ، ثم يستأنف التنفيذ من حيث تم إيقافه.

#declaring مولد لتحديد السنة الكبيسة
defقفزة(قائمتي):
لأنافيقائمتي:
لو(أنا٪4==0):
# استخدام العائد
أثمرأنا
#declaring قائمة السنوات
قائمة_العام=[2010و2011و2012و2016و2020و2024]
مطبعة('طباعة قيم السنة الكبيسة')
لxفيقفزة(قائمة_العام):
مطبعة(x)

انتاج |



يظهر الإخراج سلسلة السنوات الكبيسة.

دعونا نرى مثالاً آخر حيث تقوم وظيفة المولد بإنتاج أرقام وسلاسل مختلفة.

#declaring وظيفة المولد
defmyfunc():
أثمر 'علامة'
أثمر 'يوحنا'
أثمر 'تايلور'
أثمر 'إيفان'
أثمر 10
أثمر عشرين
أثمر 30
أثمر 40
أثمر خمسون
# الاتصال والتكرار من خلال وظيفة المولد
لأنافيmyfunc():
# طباعة القيم
مطبعة(أنا)

انتاج |

دعنا ننفذ وظيفة مولد لحساب وطباعة القيمة التكعيبية لتسلسل الأرقام. نقوم بتوليد قيم المكعب من 1 إلى 30.

#declaring دالة المولد لحساب قيمة المكعب
defكاليوب():
ساعة=1
#the اللانهائية أثناء التكرار
في حين حقيقي:
#calcumating مكعب
أثمرفال * فال * فال
# زيادة القيمة بمقدار 1
ساعة=val +1
مطبعة('قيم المكعب هي:')
# استدعاء وظيفة المولد
لأنافيكاليوب():
لوأنا>30:
استراحة
مطبعة(أنا)

انتاج |

يظهر الإخراج قيمة المكعب أقل من 30.

استنتاج

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