কম্পিউটার

পাইথন ইয়েলড কীওয়ার্ড:একটি গাইড

কিভাবে পাইথন ইয়েলড কীওয়ার্ড ব্যবহার করবেন

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

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

আমরা চালিয়ে যাওয়ার আগে পাইথন ইটারেটর এবং জেনারেটরগুলিতে আমাদের নিবন্ধগুলি পড়ার পরামর্শ দিই। এটি আপনাকে কিছু দরকারী প্রসঙ্গ দেয় যা আপনি ফলন কীওয়ার্ড সম্পর্কে আপনার বোঝার জন্য ব্যবহার করতে পারেন৷

বেসিকগুলিতে ফিরে যান:পুনরাবৃত্তিকারী এবং জেনারেটর

তালিকাগুলি পুনরাবৃত্তিযোগ্য বস্তু হিসাবে বর্ণনা করা হয়েছে। এর কারণ হল আপনি একটি "এর জন্য" লুপ ব্যবহার করে তাদের বিষয়বস্তু দেখতে পারেন। প্রতিবার লুপ চালানো হলে, তালিকার একটি আইটেম পাইথন দ্বারা অ্যাক্সেস করা হয়। অভিধান, টিপল এবং স্ট্রিংগুলিও পুনরাবৃত্তিযোগ্য বস্তু।

একটি ফাংশন যা একটি পুনরাবৃত্তিযোগ্য বস্তু থেকে একটি আইটেম অ্যাক্সেস করে তাকে ইটারেটর বলা হয় . আসুন একটি তালিকা তৈরি করি এবং একটি ফর লুপ ব্যবহার করে এটির উপর পুনরাবৃত্তি করি:

peppers = ["Scotch Bonnet", "Piri Piri", "Cayenne"]

for p in peppers:
	print(p)
for p in peppers:
	print(p)

এই কোডটি "মরিচ" তালিকার সমস্ত মরিচকে কনসোলে প্রিন্ট করে:

Scotch Bonnet
Piri Piri
Cayenne
Scotch Bonnet
Piri Piri
Cayenne

আমরা যতবার চাই ততবার আমাদের পুনরাবৃত্তিকারী ব্যবহার করি। শেষ উদাহরণে, আমরা "মরিচ" বস্তুর উপর দুবার পুনরাবৃত্তি করেছি।

পাইথন জেনারেটর একটি বস্তুর পুনরাবৃত্তি করতে ব্যবহৃত একটি পুনরাবৃত্তির মত। একটি বড় পার্থক্য আছে:আপনি শুধুমাত্র একবার একটি জেনারেটরের উপর পুনরাবৃত্তি করতে পারেন। যেখানে আমরা যতবার চাই ততবার "মরিচ" এর উপর পুনরাবৃত্তি করতে পারি, একটি জেনারেটর শুধুমাত্র একবার অ্যাক্সেস করা হয়।

81% অংশগ্রহণকারী বলেছেন যে তারা বুটক্যাম্পে যোগ দেওয়ার পরে তাদের প্রযুক্তিগত কাজের সম্ভাবনা সম্পর্কে আরও আত্মবিশ্বাসী বোধ করেছেন। আজই একটি বুটক্যাম্পের সাথে মিলিত হন৷

গড় বুটক্যাম্প গ্র্যাড একটি বুটক্যাম্প শুরু করা থেকে শুরু করে তাদের প্রথম চাকরি খোঁজা পর্যন্ত ক্যারিয়ারের পরিবর্তনে ছয় মাসেরও কম সময় ব্যয় করেছে।

আমাদের মরিচের তালিকার জন্য একটি জেনারেটর সংজ্ঞায়িত করা যাক:

def print_peppers(peppers):
	for p in peppers:
		yield p

peppers = ["Scotch Bonnet", "Piri Piri", "Cayenne"]
pepper_generator = print_peppers(peppers)

for p in pepper_generator:
	print(p)

আমরা print_peppers() নামে একটি ফাংশন সংজ্ঞায়িত করি . এটি আমাদের জেনারেটর ফাংশন. এটি একটি যুক্তি গ্রহণ করে:মরিচের একটি তালিকা যা আমরা কনসোলে প্রিন্ট করতে চাই।

আমাদের প্রধান প্রোগ্রামে, আমরা print_peppers() কে কল করি ফাংশন এবং এটি পরিবর্তনশীল pepper_generator এ বরাদ্দ করুন। এরপর, আমরা একটি "for" লুপ ব্যবহার করে জেনারেটরের উপর পুনরাবৃত্তি করি। আমাদের ফর লুপ জেনারেটর অবজেক্টকে কল করে এবং এটির উপর পুনরাবৃত্তি করে।

আসুন আমাদের কোড রান করি:

Scotch Bonnet
Piri Piri
Cayenne

আউটপুট আমাদের প্রথম উদাহরণ হিসাবে একই. পার্থক্য হল আমরা শুধুমাত্র একবার আমাদের তালিকার উপর পুনরাবৃত্তি করতে পারি। আসুন আমাদের জেনারেটরের উপর আবার পুনরাবৃত্তি করার চেষ্টা করি:

...
for p in pepper_generator:
	print(p)
for p in pepper_generator:
	print(p)

আমাদের কোড ফিরে আসে:

Scotch Bonnet
Piri Piri
Cayenne

আমরা একবার আমাদের জেনারেটরের উপর পুনরাবৃত্তি করেছি। আমরা এটি আবার করতে পারি না। এই কারণে লুপের জন্য আমাদের দ্বিতীয় কোনো মান ফেরত দেয় না।

পাইথন ইয়েলড কীওয়ার্ড

শেষ উদাহরণে "ফলন" শব্দটি লক্ষ্য করুন। এখানে একটি অনুস্মারক:

def print_peppers(peppers):
	for p in peppers:
		yield p

"ফলন" কীওয়ার্ডটি আমাদের ফাংশনের ভিতরে উপস্থিত হয়। এটি একটি জেনারেটর ফাংশনে একটি মান প্রদান করে। এটি "রিটার্ন" কীওয়ার্ডের মতো।

আপনি যখন একটি জেনারেটর তৈরি করতে চান তখন ফলন ব্যবহার করুন যার উপর আপনি পুনরাবৃত্তি করতে পারেন। আমাদের শেষ উদাহরণে, আমরা আমাদের মরিচের তালিকার জন্য একটি জেনারেটর তৈরি করতে ফলন ব্যবহার করি।

ফলন ধারণ করে যে কোনো ফাংশন একটি জেনারেটর প্রদান করবে। আমরা type() ব্যবহার করে pepper_generator ভেরিয়েবলের ধরন পরীক্ষা করে এটি দেখতে পাই। পদ্ধতি:

<class 'generator'>

এটি আমাদের বলে যে pepper_generator, যেটিকে print_peppers ফাংশন বরাদ্দ করা হয়, একটি জেনারেটর৷

উপসংহার

ফলন কীওয়ার্ড একটি জেনারেটরের ভিতরে একটি মান প্রদান করে। একটি জেনারেটর হল একটি বিশেষ ধরনের পুনরাবৃত্তিকারী যার মান শুধুমাত্র একবারে পুনরাবৃত্তি করা যেতে পারে। ফলন কীওয়ার্ডটি রিটার্ন স্টেটমেন্টের অনুরূপ, রিটার্ন স্টেটমেন্ট ছাড়া জেনারেটরে ব্যবহার করা যাবে না।

এখন আপনি একটি Pytonista!

এর মত ফলন কীওয়ার্ড ব্যবহার করতে প্রস্তুত
  1. পাইথনে assert কীওয়ার্ড

  2. পাইথনে গ্লোবাল কীওয়ার্ড

  3. পাইথনে কীওয়ার্ড

  4. পাইথনে "ফলন" কীওয়ার্ডটি কী করে?