কম্পিউটার

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


জেনারেটরে ফলন কীওয়ার্ড ব্যবহার করা হয়। এর আচরণ বোঝার জন্য আসুন প্রথমে দেখি পুনরাবৃত্তিযোগ্য কি। পাইথন বস্তুর তালিকা, ফাইল, স্ট্রিং ইত্যাদিকে বলা হয় পুনরাবৃত্তিযোগ্য। সিনট্যাক্সে .. এর জন্য ব্যবহার করে যে কোনো বস্তুকে পুনরাবৃত্তি করা যায়। ইটারেটর অবজেক্টটিও একটি পুনরাবৃত্তিযোগ্য, তবে এটি শুধুমাত্র একবারই পুনরাবৃত্তি করা যেতে পারে। Iter() ফাংশন ব্যবহার করে যেকোন পুনরাবৃত্তিযোগ্য আকারে ইটারেটর অবজেক্ট পাওয়া যেতে পারে এবং এটিতে নেক্সট() পদ্ধতি রয়েছে যা ব্যবহার করে পুনরাবৃত্তি করা হয়।

>>> L1 =[1,2,3,4]>>> I1 =iter(L1)>>> while True:try:print (next(I1)) StopIteration:sys.exit()<ছাড়া /প্রে> 

জেনারেটরটি একটি ফাংশনের অনুরূপ দেখায়, তবে এটি ইয়েল্ড কীওয়ার্ড দ্বারা ইটারেটারে ধারাবাহিক আইটেমগুলি প্রদান করে৷

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

নিম্নলিখিত উদাহরণ ফিবোনাচি সিরিজের সংখ্যা ধারণকারী একটি পুনরাবৃত্তিকারী তৈরি করে। জেনারেটর ফাংশন fibo() এর প্রতিটি কল ফিবোনাচি সিরিজের ধারাবাহিক উপাদান প্রদান করে।

ইম্পোর্ট করুন sysdef fibo(n):a,b=0,1 while True:if a>n :রিটার্ন yield a a, b =b, a+bf =fibo(20) যখন True:try:print (next( f)) StopIteration ছাড়া:sys.exit()

  1. পাইথনে input() ফাংশন কি করে?

  2. raw_input() ফাংশন পাইথনে কি করে?

  3. যদি __name__ ==__main__:পাইথনে কি করে?

  4. পাইথনে reload() ফাংশন কি করে?