عائد Python مقابل العودة

Python Yield Vs Return



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

توضح هذه المقالة الاختلافات بين العائد والعائدات مع الأمثلة.







الفروق بين العائد والعائد

بادئ ذي بدء ، هناك العديد من الاختلافات البارزة بين العائد والعائد. دعونا أولا نناقش ما هي هذه.



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

مثال 1: العائد مقابل العائد

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



# أ برنامج لإظهار عمل بيان الإرجاع

# تعريف متغير رقم

عدد 1=10

# تعريف متغير رقم

عدد 2=عشرين

#creating a function لأداء العمليات الحسابية

ديف mathOP():

#calculate قيمة المجموع

إرجاععدد 1+عدد 2

# حساب الفرق

إرجاععدد 1-عدد 2

# حساب قيمة الضرب

إرجاععدد 1*عدد 2

# حساب قيمة القسمة

إرجاععدد 1/عدد 2

# استدعاء الوظيفة

مطبعة(الرياضيات())

انتاج |





في الإخراج ، يمكن ملاحظة أن الوظيفة ترجع القيمة الأولى فقط ، ويتم إنهاء البرنامج.



لأداء مهمة مماثلة باستخدام عبارات إرجاع متعددة ، نحتاج إلى إنشاء أربع وظائف مختلفة لكل نوع من العمليات الحسابية.

# أ برنامج لإظهار عمل بيان الإرجاع

# تعريف متغير رقم

عدد 1=10

# تعريف متغير رقم

عدد 2=عشرين

#creating a function لأداء العمليات الحسابية

def sumOP():

#calculate قيمة المجموع

إرجاععدد 1+عدد 2

def طرح OP():

# حساب الفرق

إرجاععدد 1-عدد 2

الضرب def():

# حساب قيمة الضرب

إرجاععدد 1*عدد 2

شعبة مواطنه():

# حساب قيمة القسمة

إرجاععدد 1/عدد 2

# استدعاء دالة المجموع

مطبعة('قيمة المجموع هي:'وسوموب())

# استدعاء دالة الطرح

مطبعة('قيمة الفرق هي:'وطرح OP())

# استدعاء دالة الضرب

مطبعة('قيمة الضرب هي:'والضرب())

# استدعاء وظيفة القسمة

مطبعة('قيمة القسمة هي:'وقسم())

انتاج |

يمكننا إجراء هذه العمليات الحسابية المتعددة داخل دالة منشئ واحد ببيانات إنتاجية متعددة.

# أ برنامج لإظهار عمل بيان العائد

# تعريف متغير رقم

عدد 1=10

# تعريف متغير رقم

عدد 2=عشرين

#creating a function لأداء العمليات الحسابية

ديف mathOP():

#calculate قيمة المجموع

أثمرعدد 1+عدد 2

# حساب الفرق

أثمرعدد 1-عدد 2

# حساب قيمة الضرب

أثمرعدد 1*عدد 2

# حساب قيمة القسمة

أثمرعدد 1/عدد 2

# استدعاء الوظيفة

مطبعة('طباعة القيم')

# using for loop للوصول إلى القيم من كائن المولد

لأنا في الرياضيات():

مطبعة(أنا)

انتاج |

مثال 2: العائد مقابل العائد

دعونا نرى مثالًا آخر على بيانات العائد والعائد. في المثال المعطى ، لدينا قائمة بالأرقام التي يتم تمريرها إلى الدالة mod () كوسيطة. نحن نجري عملية المعامل على كل عدد من القوائم ونتحقق من هذه الأرقام عند قسمة 10 صفر إرجاع كقيمة متبقية.

أولاً ، دعنا ننفذ هذا المثال في نص Python الخاص بنا مع عبارة الإرجاع.

# تحديد قائمة الأرقام

قائمتي=[10وعشرينو25و30و35و40وخمسون]

# تحديد دالة لأداء عملية المقياس

وزارة الدفاع مواطنه(قائمتي):

لأنا في قائمتي:

#performing عملية معامل

لو(أنا٪10==0):

إرجاعأنا

مطبعة(ضد(قائمتي))

انتاج |

تقوم عبارة الإرجاع بإرجاع الرقم الأول فقط إلى المتصل وتنهي تنفيذ الوظيفة.

الآن ، دعنا نطبق نفس المثال في نص Python الخاص بنا مع بيان العائد.

# تحديد قائمة الأرقام

قائمتي=[10وعشرينو25و30و35و40وخمسون]

# تعريف دالة لأداء عملية المقياس

وزارة الدفاع مواطنه(قائمتي):

لأنا في قائمتي:

#performing عملية معامل

لو(أنا٪10==0):

# بيان العائد

أثمرأنا

لأنا في وزارة الدفاع(قائمتي):

مطبعة(أنا)

انتاج |

استنتاج

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