কম্পিউটার টিউটোরিয়াল

পাইথন ফাংশন কীভাবে অবজেক্ট রিটার্ন/ইয়িল্ড করে?

পাইথনে return স্টেটমেন্ট ফাংশন এক্সিকিউশন শেষ করে কলারকে ভ্যালু রিটার্ন করে। yield কিওয়ার্ড ব্যবহার করে জেনারেটর ফাংশন তৈরি করা যায়, যা লেজি ইভ্যালুয়েশন করে।

১. Return Statement

def sum(a, b):
    return a + b

print(sum(5, 16))  # 21
  • return এক্সিকিউট होतेই ফাংশন টার্মিনেট হয়।
  • মান রিটার্ন করা ফাংশনকে ফ্রুইটফুল ফাংশন বলা হয়।

২. Generator Expressions

mygenerator = (x*x for x in range(4))
for i in mygenerator:
    print(i, end=' ')  # 0 1 4 9
  • জেনারেটর একবারই ইটারেট করা যায়।
  • মেমরিতে সব ভ্যালু স্টোর করে না, অন-দ-ফ্লাই জেনারেট করে।

৩. Yield Keyword (Generator Function)

def create_generator():
    for i in range(4):
        yield i * i

mygenerator = create_generator()
print(mygenerator)          # 
print(next(mygenerator))    # 0
print(next(mygenerator))    # 1
print(next(mygenerator))    # 4
print(next(mygenerator))    # 9
print(next(mygenerator))    # StopIteration exception

ব্যাখ্যা

  • yield এনকাউন্টার হলে ফাংশন পজ করা থাকে, স্টেট সংরক্ষণ থাকে।
  • next() কল করলে পরবর্তী ভ্যালু জেনারেট হয়।
  • সব ভ্যালু শেষ হলে StopIteration রেইজ হয়।
  • জেনারেটর মেমরি-এফিশিয়েন্ট বড় ডেটাসেট প্রসেসিংয়ের জন্য আদর্শ।
  1. পাইথন: কীভাবে ডিকশনারি প্রিন্ট করবেন

  2. পাইথনে প্যাটার্ন প্রিন্ট করার পদ্ধতি

  3. পাইথন ফাংশন কীভাবে অবজেক্ট রিটার্ন/ইয়িল্ড করে?

  4. পাইথন ফাংশন থেকে ফাংশন রিটার্ন করা