ازگر کی پیداوار بمقابلہ واپسی۔

Python Yield Vs Return



ازگر حالیہ دنوں میں بڑے پیمانے پر استعمال ہونے والی عام مقصد کی پروگرامنگ زبان ہے۔ پیداوار ایک بلٹ ان ازگر کلیدی لفظ ہے جو کہ جنریٹر افعال بنانے کے لیے استعمال ہوتا ہے۔ اس کا فنکشن نتائج کا ایک سلسلہ پیدا کرتا ہے۔ یہ پروگرام کے نفاذ کو روکتا ہے ، نتیجہ کی قیمت کال کرنے والے کو واپس بھیجتا ہے ، اور آخری پیداوار سے عملدرآمد دوبارہ شروع کرتا ہے۔ اس کے علاوہ ، یلڈ فنکشن جنریٹر آبجیکٹ کی شکل میں نتائج کی تیار کردہ سیریز بھیجتا ہے۔ دوسری طرف ، واپسی ازگر میں ایک بلٹ ان کلیدی لفظ بھی ہے جو فنکشن کو ختم کرتا ہے اور کال کرنے والے کو قیمت واپس بھیج دیتا ہے۔

یہ مضمون مثالوں کے ساتھ پیداوار اور واپسی کے درمیان فرق کا خاکہ پیش کرتا ہے۔







پیداوار اور واپسی کے درمیان فرق

شروع کرنے کے لئے ، پیداوار اور واپسی کے مابین بہت سے نمایاں فرق ہیں۔ آئیے پہلے یہ بحث کرتے ہیں کہ یہ کیا ہیں۔



واپسی۔ پیداوار
واپسی کا بیان کال کرنے والے کو صرف ایک قیمت دیتا ہے۔ پیداوار کا بیان کال کرنے والے کو جنریٹر آبجیکٹ کی شکل میں نتائج کی ایک سیریز واپس کر سکتا ہے۔
واپسی فنکشن سے باہر نکلتی ہے ، اور لوپ کی صورت میں ، یہ لوپ کو خارج کردیتی ہے۔ یہ فنکشن کے اندر رکھا جانے والا آخری بیان ہے۔ یہ فنکشن کے مقامی متغیرات کو ختم نہیں کرتا ہے۔ یہ عملدرآمد کو معطل کر دیتا ہے اور قیمت کال کرنے والے کو واپس بھیج دیتا ہے ، اور آخری پیداوار کے بیان سے پروگرام پر عملدرآمد جاری رکھتا ہے۔
منطقی طور پر ، ایک فنکشن میں صرف واپسی کا بیان ہونا چاہئے۔ فنکشن کے اندر ایک سے زیادہ پیداوار کا بیان ہو سکتا ہے۔
واپسی کا بیان صرف ایک بار چل سکتا ہے۔ پیداوار کا بیان کئی بار چل سکتا ہے۔
واپسی کا بیان باقاعدہ ازگر فنکشن کے اندر رکھا گیا ہے۔ پیداوار کا بیان ایک باقاعدہ فنکشن کو جنریٹر فنکشن میں بدل دیتا ہے۔

مثال 1: واپسی بمقابلہ پیداوار۔

اب ، آئیے مثالوں کے ذریعے واپسی اور پیداوار کے بیانات میں فرق دیکھیں۔ ذیل میں دیئے گئے مثال کے پروگرام میں ، ہم نے ایک سے زیادہ واپسی کے بیانات استعمال کیے ہیں۔ آپ مشاہدہ کر سکتے ہیں کہ پہلے ریٹرن بیان کے بعد پروگرام پر عملدرآمد ختم ہو جائے گا ، اور باقی کوڈ پر عمل نہیں کیا جائے گا۔



#ایک پروگرام واپسی کے بیان کا کام دکھانے کے لیے۔

#ایک نمبر متغیر کی وضاحت

نمبر 1=10۔

#ایک نمبر متغیر کی وضاحت

نمبر 2=بیس

#ریاضی کے کام کرنے کے لیے ایک فنکشن بنانا

ڈیف ریاضی او پی():

#رقم کی گنتی

واپسینمبر 1+نمبر 2

#فرق کا حساب لگانا

واپسینمبر 1-نمبر 2

#ضرب کی قیمت کا حساب لگانا

واپسینمبر 1*نمبر 2

#تقسیم کی قیمت کا حساب لگانا

واپسینمبر 1/نمبر 2

#فنکشن کال کرنا

پرنٹ کریں(mathOP())

آؤٹ پٹ۔





آؤٹ پٹ میں ، یہ دیکھا جا سکتا ہے کہ فنکشن صرف پہلی قیمت لوٹاتا ہے ، اور پروگرام ختم کر دیا جاتا ہے۔



متعدد واپسی بیانات کے ساتھ ایک جیسا کام انجام دینے کے لیے ، ہمیں ہر قسم کے ریاضی کے آپریشن کے لیے چار مختلف افعال بنانے کی ضرورت ہے۔

#ایک پروگرام واپسی کے بیان کا کام دکھانے کے لیے۔

#ایک نمبر متغیر کی وضاحت

نمبر 1=10۔

#ایک نمبر متغیر کی وضاحت

نمبر 2=بیس

#ریاضی کے کام کرنے کے لیے ایک فنکشن بنانا

ڈیف سم او پی():

#رقم کی گنتی

واپسینمبر 1+نمبر 2

ڈی او ایف کو کم کریں():

#فرق کا حساب لگانا

واپسینمبر 1-نمبر 2

ڈیف ضرب او پی():

#ضرب کی قیمت کا حساب لگانا

واپسینمبر 1*نمبر 2

ڈیف ڈویژن او پی():

#تقسیم کی قیمت کا حساب لگانا

واپسینمبر 1/نمبر 2

#سم فنکشن کو کال کرنا۔

پرنٹ کریں('رقم کی قیمت یہ ہے:'،sumOP())

#سٹرکشن فنکشن کو کال کرنا۔

پرنٹ کریں('فرق کی قیمت یہ ہے:'،او پی کو کم کریں())

#ضرب تقریب کو کال کرنا۔

پرنٹ کریں('ضرب کی قیمت یہ ہے:'،ضرب او پی())

#ڈویژن فنکشن کو کال کرنا۔

پرنٹ کریں('تقسیم کی قیمت یہ ہے:'،ڈویژن او پی())

آؤٹ پٹ۔

ہم یہ ایک سے زیادہ ریاضی کے کام ایک ہی جنریٹر فنکشن کے اندر ایک سے زیادہ پیداوار کے بیانات کے ساتھ انجام دے سکتے ہیں۔

#ایک پروگرام پیداوار کے بیان کا کام دکھانے کے لیے۔

#ایک نمبر متغیر کی وضاحت

نمبر 1=10۔

#ایک نمبر متغیر کی وضاحت

نمبر 2=بیس

#ریاضی کے کام کرنے کے لیے ایک فنکشن بنانا

ڈیف ریاضی او پی():

#رقم کی گنتی

پیداوارنمبر 1+نمبر 2

#فرق کا حساب لگانا

پیداوارنمبر 1-نمبر 2

#ضرب کی قیمت کا حساب لگانا

پیداوارنمبر 1*نمبر 2

#تقسیم کی قیمت کا حساب لگانا

پیداوارنمبر 1/نمبر 2

#فنکشن کال کرنا

پرنٹ کریں(اقدار کی پرنٹنگ:)

#جنریٹر آبجیکٹ سے اقدار تک رسائی کے لیے لوپ کا استعمال۔

کے لیےمیں ریاضی میں():

پرنٹ کریں(میں)

آؤٹ پٹ۔

مثال 2: واپسی بمقابلہ پیداوار۔

آئیے واپسی اور پیداوار کے بیانات کی ایک اور مثال دیکھیں۔ دی گئی مثال میں ، ہمارے پاس نمبروں کی ایک فہرست ہے جو موڈ () فنکشن کو بطور دلیل دی جاتی ہے۔ ہم فہرست کے ہر نمبر پر ماڈیولس آپریشن کر رہے ہیں اور چیک کر رہے ہیں کہ وہ نمبر کیا ہیں جب 10 کی واپسی صفر کو بقیہ قیمت کے طور پر تقسیم کریں۔

پہلے ، آئیے اس مثال کو ہمارے ازگر کے اسکرپٹ میں واپسی کے بیان کے ساتھ نافذ کریں۔

#نمبروں کی فہرست کی وضاحت

myList=[10۔،بیس،25۔،30۔،35۔،40۔،پچاس]

#ماڈیولس آپریشن کرنے کے لیے کسی فنکشن کی وضاحت کرنا۔

ڈیف موڈ(myList):

کے لیےمیں مائی لسٹ میں ہوں۔:

#ماڈیولس آپریشن

اگر(میں٪10۔==):

واپسیمیں

پرنٹ کریں(خلاف(myList))

آؤٹ پٹ۔

واپسی کا بیان صرف کال کرنے والے کو پہلا نمبر لوٹاتا ہے اور فنکشن کو ختم کرتا ہے۔

اب ، آئیے اسی مثال کو اپنے ازگر اسکرپٹ میں پیداوار کے بیان کے ساتھ نافذ کریں۔

#نمبروں کی فہرست کی وضاحت

myList=[10۔،بیس،25۔،30۔،35۔،40۔،پچاس]

#ماڈیولس آپریشن کرنے کے لیے کسی فنکشن کی وضاحت کرنا۔

ڈیف موڈ(myList):

کے لیےمیں مائی لسٹ میں ہوں۔:

#ماڈیولس آپریشن

اگر(میں٪10۔==):

#پیداوار کا بیان۔

پیداوارمیں

کے لیےمیں موڈ میں(myList):

پرنٹ کریں(میں)

آؤٹ پٹ۔

نتیجہ

آخر میں ، واپسی اور پیداوار دو بلٹ میں ازگر کے مطلوبہ الفاظ یا بیانات ہیں۔ ریٹرن اسٹیٹمنٹ کا استعمال کال کرنے والے کو فنکشن سے ویلیو واپس کرنے کے لیے کیا جاتا ہے اور پروگرام پر عملدرآمد کو ختم کیا جاتا ہے ، جب کہ ییلڈ سٹیٹمنٹ ایک جنریٹر آبجیکٹ پیدا کرتا ہے اور پروگرام کی پھانسی کو ختم کیے بغیر کال کرنے والے کو ایک سے زیادہ اقدار واپس کر سکتا ہے۔ یہ مضمون مثالوں کے ساتھ واپسی اور پیداوار کے بیانات کے مابین تمام نمایاں اختلافات کی فہرست دیتا ہے۔