কম্পিউটার

পাইথন পুনরাবৃত্তিযোগ্য এবং পুনরাবৃত্তিকারীর মধ্যে পার্থক্য


একটি পুনরাবৃত্তিযোগ্যকে আলগাভাবে একটি বস্তু হিসাবে সংজ্ঞায়িত করা যেতে পারে যা অন্তর্নির্মিত পদ্ধতি iter() এ পাস করার সময় একটি পুনরাবৃত্তিকারী তৈরি করবে। কিছু শর্ত আছে, কোনো বস্তুর পুনরাবৃত্তিযোগ্য হওয়ার জন্য, ক্লাসের অবজেক্টকে দুটি উদাহরণ মেহটোড সংজ্ঞায়িত করতে হবে:__len__ এবং __getitem__। মেথড iter() এ পাস করার সময় এই শর্তগুলি পূরণ করে এমন একটি বস্তু একটি ইটারেটর তৈরি করবে।

পুনরাবৃত্তিযোগ্য −

বুঝতে নিচের উদাহরণটি বুঝি
string = "Tutorialspoint"
for char in string:
print (char)

আউটপুট

T
u
t
o
r
i
a
l
s
p
o
i
n
t

কোডের উপরে __getitem__(index) পদ্ধতি ব্যবহার করুন যা সূচক দ্বারা নির্দিষ্ট অবস্থানে উপাদানটিকে ফিরিয়ে দেবে।

সুতরাং, আমাদের উপরের কোড -

  • সূচী 0 দিয়ে শুরু করুন
  • কল স্ট্রিং।__getitem__(সূচক)
  • সূচক ত্রুটি উত্থাপিত হয়েছে? থামুন
  • লুপের রান বডি
  • সূচক বৃদ্ধি করুন, ধাপ 2 এ ফিরে যান।

ইটারেটর

Iterators একটি অবজেক্ট হিসাবে সংজ্ঞায়িত করা হয় যা একটি ইটারনাল স্টেট ভেরিয়েবলের মাধ্যমে ইন্টারেশন গণনা করে। এই ক্ষেত্রে, ভেরিয়েবলটি শূন্যে সেট করা হয় না যখন পুনরাবৃত্তি শেষ আইটেমটি অতিক্রম করে, পরিবর্তে, পুনরাবৃত্তির সমাপ্তি নির্দেশ করতে StopIteration() উত্থাপিত হয়। এর মানে হল যে পুনরাবৃত্ত আইটেমটি শুধুমাত্র একবারই পুনরাবৃত্তি করা হবে, যেমন নীচের উদাহরণে −

my_list = ['itemOne', 'TutorialsPoints']
iterators_of_some_list = iter(my_list)
for i in iterators_of_some_list:
   print(i)
for j in iterators_of_some_list: # doesn't work
   print(j)
#However
for k in my_list:
   print(k)
for l in my_list: # it worked
   print(l)
কাজ করেছে

আউটপুট

itemOne
TutorialsPoints
itemOne
TutorialsPoints
itemOne
TutorialsPoints

উপরের কোডটি সত্য ধারণ করে কারণ ইটারেটরে iter() পদ্ধতিটি নিজেই ফিরে আসে (বর্তমান অবস্থা মনে রাখা)। সুতরাং উপরে আমাদের কাছে এটিকে শেষ করার জন্য “for” এর মতো একটি লুপ ধরণের বাস্তবায়ন রয়েছে।


  1. জাভাস্ক্রিপ্ট এবং পাইথনে সেমিকোলনের মধ্যে পার্থক্য কী?

  2. Python এর re.search এবং re.match এর মধ্যে পার্থক্য কি?

  3. পাইথনে raw_input() এবং input() ফাংশনের মধ্যে পার্থক্য কী?

  4. পাইথনে একটি স্ট্রিং এবং একটি বাইট স্ট্রিংয়ের মধ্যে পার্থক্য কী?