পাইথন ফলন বনাম রিটার্ন

Python Yield Vs Return



পাইথন হল সাম্প্রতিক সময়ের বহুল ব্যবহৃত সাধারণ-উদ্দেশ্য প্রোগ্রামিং ভাষা। ফলন একটি অন্তর্নির্মিত পাইথন কীওয়ার্ড যা জেনারেটর ফাংশন তৈরি করতে ব্যবহৃত হয়। এর ফাংশন ফলাফল একটি সিরিজ উৎপন্ন করে। এটি প্রোগ্রামের বাস্তবায়নকে বিরতি দেয়, কলারের কাছে ফলাফলের মান ফেরত পাঠায় এবং শেষ ফলন থেকে পুনরায় কার্যকর করা শুরু করে। তা ছাড়া, ফলন ফাংশন জেনারেটর বস্তুর আকারে উত্পন্ন সিরিজের ফলাফল পাঠায়। অন্যদিকে, রিটার্নটি পাইথনে একটি অন্তর্নির্মিত কীওয়ার্ড যা ফাংশনটি বন্ধ করে দেয় এবং কলারকে মান ফেরত পাঠায়।

এই নিবন্ধটি উদাহরণ সহ ফলন এবং রিটার্নের মধ্যে পার্থক্য তুলে ধরে।







ফলন এবং রিটার্নের মধ্যে পার্থক্য

শুরুতে, ফলন এবং রিটার্নের মধ্যে অনেক বিশিষ্ট পার্থক্য রয়েছে। আসুন প্রথমে আলোচনা করি এগুলি কী।



ফেরত ফলন
রিটার্ন স্টেটমেন্ট কলকারীকে শুধুমাত্র একটি মান প্রদান করে। ফলন বিবৃতি একটি জেনারেটর বস্তুর আকারে কলারের কাছে ফলাফলগুলির একটি সিরিজ ফিরিয়ে দিতে পারে।
রিটার্ন ফাংশন থেকে বেরিয়ে যায় এবং লুপের ক্ষেত্রে এটি লুপকে বাতিল করে দেয়। এটি ফাংশনের ভিতরে রাখা শেষ বিবৃতি। এটি ফাংশনের স্থানীয় পরিবর্তনগুলি বাতিল করে না। এটি এক্সিকিউশন স্থগিত করে এবং কলারকে মান ফেরত পাঠায় এবং শেষ ফলন বিবৃতি থেকে প্রোগ্রামটি কার্যকর করা চালিয়ে যায়।
যৌক্তিকভাবে, একটি ফাংশন শুধুমাত্র একটি রিটার্ন বিবৃতি থাকা উচিত। ফাংশনের ভিতরে একাধিক ফলন বিবৃতি থাকতে পারে।
রিটার্ন স্টেটমেন্ট শুধুমাত্র একবারই চলতে পারে। ফলন বিবৃতি একাধিকবার চলতে পারে।
রিটার্ন স্টেটমেন্ট একটি নিয়মিত পাইথন ফাংশনের ভিতরে রাখা হয়। ফলন বিবৃতি একটি সাধারণ ফাংশনকে একটি জেনারেটর ফাংশনে রূপান্তরিত করে।

উদাহরণ 1: রিটার্ন বনাম ফলন

এখন, উদাহরণের মাধ্যমে রিটার্ন এবং ফলন বিবৃতির মধ্যে পার্থক্য দেখা যাক। নীচে দেওয়া উদাহরণ প্রোগ্রামে, আমরা একাধিক রিটার্ন স্টেটমেন্ট ব্যবহার করেছি। আপনি লক্ষ্য করতে পারেন যে প্রথম রিটার্ন স্টেটমেন্টের পর প্রোগ্রামের এক্সিকিউশন শেষ হয়ে যাবে, এবং বাকি কোড এক্সিকিউট হবে না।



#রিটার্ন স্টেটমেন্টের কাজ দেখানোর জন্য একটি প্রোগ্রাম

#একটি সংখ্যার পরিবর্তনশীল সংজ্ঞায়িত করা

সংখ্যা 1=10

#একটি সংখ্যার পরিবর্তনশীল সংজ্ঞায়িত করা

সংখ্যা 2=বিশ

#গাণিতিক ক্রিয়াকলাপ সম্পাদনের জন্য একটি ফাংশন তৈরি করা

ডিএফ ম্যাথ ওপি():

#যোগফল গণনা

প্রত্যাবর্তনসংখ্যা 1+সংখ্যা 2

#পার্থক্য গণনা করা

প্রত্যাবর্তনসংখ্যা 1-সংখ্যা 2

#গুণ মান গণনা করা

প্রত্যাবর্তনসংখ্যা 1*সংখ্যা 2

#বিভাগ মান গণনা

প্রত্যাবর্তনসংখ্যা 1/সংখ্যা 2

#ফাংশন কল করা

ছাপা(ম্যাথ ওপি())

আউটপুট





আউটপুটে, এটি দেখা যায় যে ফাংশনটি শুধুমাত্র প্রথম মান প্রদান করে এবং প্রোগ্রামটি বন্ধ করা হয়।



একাধিক রিটার্ন স্টেটমেন্টের সাথে একই ধরনের কাজ সম্পাদন করার জন্য, আমাদের প্রত্যেক ধরনের গাণিতিক ক্রিয়াকলাপের জন্য চারটি ভিন্ন ফাংশন তৈরি করতে হবে।

#রিটার্ন স্টেটমেন্টের কাজ দেখানোর জন্য একটি প্রোগ্রাম

#একটি সংখ্যার পরিবর্তনশীল সংজ্ঞায়িত করা

সংখ্যা 1=10

#একটি সংখ্যার পরিবর্তনশীল সংজ্ঞায়িত করা

সংখ্যা 2=বিশ

#গাণিতিক ক্রিয়াকলাপ সম্পাদনের জন্য একটি ফাংশন তৈরি করা

ডিফ যোগ():

#যোগফল গণনা

প্রত্যাবর্তনসংখ্যা 1+সংখ্যা 2

ডিএফ বিয়োগ():

#পার্থক্য গণনা করা

প্রত্যাবর্তনসংখ্যা 1-সংখ্যা 2

def গুণ():

#গুণ মান গণনা করা

প্রত্যাবর্তনসংখ্যা 1*সংখ্যা 2

ডিফ ডিভিশন ওপি():

#বিভাগ মান গণনা

প্রত্যাবর্তনসংখ্যা 1/সংখ্যা 2

#যোগ ফাংশন কলিং

ছাপা('সমষ্টি মান হল:',sumOP())

#বিয়োগ ফাংশন কল করা

ছাপা('পার্থক্য মান হল:',বিয়োগ())

#গুণক ফাংশন কল করা

ছাপা('গুণের মান হল:',গুণ())

#বিভাগ ফাংশন কলিং

ছাপা('বিভাজন মান হল:',বিভাগ ওপি())

আউটপুট

আমরা একাধিক জেনারেটর ফাংশনের ভিতরে একাধিক ফলন বিবৃতি সহ এই একাধিক গাণিতিক ক্রিয়াকলাপ সম্পাদন করতে পারি।

ফলন বিবৃতির কাজ দেখানোর জন্য একটি প্রোগ্রাম

#একটি সংখ্যার পরিবর্তনশীল সংজ্ঞায়িত করা

সংখ্যা 1=10

#একটি সংখ্যার পরিবর্তনশীল সংজ্ঞায়িত করা

সংখ্যা 2=বিশ

#গাণিতিক ক্রিয়াকলাপ সম্পাদনের জন্য একটি ফাংশন তৈরি করা

ডিএফ ম্যাথ ওপি():

#যোগফল গণনা

ফলনসংখ্যা 1+সংখ্যা 2

#পার্থক্য গণনা করা

ফলনসংখ্যা 1-সংখ্যা 2

#গুণ মান গণনা করা

ফলনসংখ্যা 1*সংখ্যা 2

#বিভাগ মান গণনা

ফলনসংখ্যা 1/সংখ্যা 2

#ফাংশন কল করা

ছাপা('মানগুলি মুদ্রণ:')

#জেনারেটর বস্তু থেকে মান অ্যাক্সেস করার জন্য লুপ ব্যবহার করা

জন্যআমি ম্যাথওপিতে():

ছাপা(আমি)

আউটপুট

উদাহরণ 2: রিটার্ন বনাম ফলন

আসুন রিটার্ন এবং ফলন বিবৃতির আরেকটি উদাহরণ দেখি। প্রদত্ত উদাহরণে, আমাদের কাছে সংখ্যার একটি তালিকা আছে যা একটি যুক্তি হিসাবে mod () ফাংশনে প্রেরণ করা হয়। আমরা তালিকার প্রতিটি সংখ্যার উপর মডুলাস অপারেশন করছি এবং বাকি সংখ্যা হিসেবে 10 রিটার্ন শূন্য দিয়ে ভাগ করলে সেই সংখ্যাগুলি কী তা পরীক্ষা করে দেখছি।

প্রথমে, আসুন এই উদাহরণটি আমাদের পাইথন স্ক্রিপ্টে রিটার্ন স্টেটমেন্ট সহ প্রয়োগ করি।

#সংখ্যার একটি তালিকা নির্ধারণ করা

আমার তালিকা=[10,বিশ,25,30,35,40,পঞ্চাশ]

#মডুলাস অপারেশন করার জন্য একটি ফাংশন সংজ্ঞায়িত করা

ডিফ মোড(আমার তালিকা):

জন্যআমি আমার তালিকায়:

#মডুলাস অপারেশন করা

যদি(আমি%10==0):

প্রত্যাবর্তনআমি

ছাপা(বিরুদ্ধে(আমার তালিকা))

আউটপুট

রিটার্ন স্টেটমেন্ট শুধুমাত্র কলারকে প্রথম নম্বর ফেরত দেয় এবং ফাংশন সম্পাদন বন্ধ করে দেয়।

এখন, আমাদের পাইথন স্ক্রিপ্টে ফলন বিবৃতি দিয়ে একই উদাহরণ প্রয়োগ করা যাক।

#সংখ্যার একটি তালিকা নির্ধারণ করা

আমার তালিকা=[10,বিশ,25,30,35,40,পঞ্চাশ]

#মডুলাস অপারেশন করার জন্য একটি ফাংশন সংজ্ঞায়িত করা

ডিফ মোড(আমার তালিকা):

জন্যআমি আমার তালিকায়:

#মডুলাস অপারেশন করা

যদি(আমি%10==0):

#ফলন বিবৃতি

ফলনআমি

জন্যআমি মোডে(আমার তালিকা):

ছাপা(আমি)

আউটপুট

উপসংহার

উপসংহারে, রিটার্ন এবং ফলন দুটি অন্তর্নির্মিত পাইথন কীওয়ার্ড বা বিবৃতি। রিটার্ন স্টেটমেন্টটি একটি ফাংশন থেকে কলারকে মান ফেরত দেওয়ার জন্য ব্যবহৃত হয় এবং প্রোগ্রামটির এক্সিকিউশন বন্ধ করে দেয়, যখন ইল্ড স্টেটমেন্ট একটি জেনারেটর বস্তু তৈরি করে এবং প্রোগ্রামটির এক্সিকিউশন বন্ধ না করে কলারকে একাধিক মান ফেরত দিতে পারে। এই নিবন্ধটি উদাহরণ সহ রিটার্ন এবং ফলন বিবৃতিগুলির মধ্যে সমস্ত বিশিষ্ট পার্থক্যগুলি তালিকাভুক্ত করে।