Python return Statements

Python return statements
Python return statements

Python return Statement

Python return statement হচ্ছে ফাংশন এবং মেথড গুলোর একটি key component বা মূল উপাদান। পাইথনে ফাংশন থেকে কোনো ফাইনাল value পেতে return statement ব্যবহার করা হয়। আমরা শুধুমাত্র একটি ফাংশনে একবার return statement ব্যবহার করতে পারি। এটি পাইথন ফাংশনের বাইরে ব্যবহার করা যায় না। এইটাকে নিম্নোক্ত কয়েকটি ভাগে সংজ্ঞায়িত করতে পারি :

  • python return statement একটি ফাংশনে ব্যবহার করা হয় যাতে কলার প্রোগ্রামে কিছু রিটার্ন করা হয়।
  • আমরা শুধুমাত্র একটি ফাংশনের ভিতরে return statement ব্যবহার করতে পারি।
  • পাইথনে, প্রতিটি ফাংশন কিছু return করে। যদি কোন return statement না থাকে, তাহলে এটি None রিটার্ন করে ।
  • যদি return statement একটি expression থাকে, তবে এটি প্রথমে মূল্যায়ন করা হয় এবং তারপর value টি return দেওয়া হয়।
  • return statement ফাংশন execution বন্ধ করে দেয়।
  • একটি ফাংশনে একাধিক return statement থাকতে পারে। যখন তাদের যে কোনটি কার্যকর করা হয়, ফাংশনটি বন্ধ হয়ে যায়।
  • একটি ফাংশন একাধিক ধরনের value return দিতে পারে।
  • পাইথন ফাংশন single return statement এ একাধিক value return দিতে পারে।

১. Python return Statement Example

চলুন প্রথমে দুটি সংখ্যা যোগ করার এবং ফাঙ্কশন কলকারীকে কে total value return দেওয়ার জন্য একটি সাধারণ উদাহরণ দেখি:

def add(x, y): total = x + y return total
1
2
def add(x, y):
total = x + y
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1/0 0/0

আমরা return statement এ expression রেখে function টি optimize করতে পারি:

def add(x, y): return x + y
1
2
def add(x, y):
return x + y
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1/0 0/0

২.প্রতিটি ফাংশনই কিছু না কিছু রিটার্ন করে

চলুন দেখি কোন ফাংশনের রিটার্ন স্টেটমেন্ট না থাকলে কি রিটার্ন করা হয়:

def foo(): pass print(foo()) #None
1
2
def foo():
pass
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1/0 0/0

৩.Python return statement এ কিছু না থাকলে কি হবে?

যখন রিটার্ন স্টেটমেন্টের কোন মান থাকে না তখন ফাংশনটি None প্রদান করে:

def foo(): return print(foo()) #None
1
2
def foo():
return
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1/0 0/0

৪.পাইথন ফাংশনে একাধিক রিটার্ন স্টেটমেন্ট থাকতে পারে:

def type_of_int(i): if i % 2 == 0: return 'even' else: return 'odd'
1
2
def type_of_int(i):
if i % 2 == 0:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1/0 0/0

৫.পাইথন ফাংশন গুলো একাধিক type এর value রিটার্ন করতে পারে

আসুন একটি উদাহরণ দেখি যেখানে ফাংশনটি একাধিক ধরণের মান প্রদান করবে।

def get_demo_data(object_type): if 'str' == object_type: return 'test' elif 'tuple' == object_type: return (1, 2, 3) elif 'list' == object_type: return [1, 2, 3] elif 'dict' == object_type: return {"1": 1, "2": 2, "3": 3} else: return None get_demo_data("tuple")
1
2
def get_demo_data(object_type):
if 'str' == object_type:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1/0 0/0

৬.একটি সিঙ্গেল রিটার্ন স্টেটমেন্টে একাধিক মান রিটার্ন করা

আমরা একটি রিটার্ন স্টেটমেন্ট থেকে একাধিক value কে return করতে পারি। এই value গুলি একটি কমা (,) দ্বারা পৃথক করা হয় এবং caller প্রোগ্রামে একটি tuple হিসাবে ফিরে আসে।

def return_multiple_values(): return 1, 2, 3 print(return_multiple_values()) print(type(return_multiple_values()))
1
2
def return_multiple_values():
return 1, 2, 3
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1/0 0/0

৭.finally block সহ Python return statements

যখন রিটার্ন স্টেটমেন্ট একটি try-except block এর ভিতরে execute করা হয়, finally block code টি কলারের কাছে value টি return করার আগে প্রথমে execute করা হয়।

def hello(): try: return 'hello try' finally: print('finally block') def hello_new(): try: raise TypeError except TypeError as te: return 'hello except' finally: print('finally block') print(hello()) print(hello_new())
1
2
def hello():
try:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1/0 0/0

ফাইনালি ব্লকের যদি python return statement থাকে, তাহলে আগের return statement ইগনোর করা হয় এবং finally block থেকে ভ্যালু রিটার্ন করা হয়।

def hello(): try: return 'hello try' finally: print('finally block') return 'hello from finally' print(hello())
1
2
def hello():
try:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1/0 0/0

আমি মাসুদ আলম, বাংলাদেশের ৩৬ তম Zend Certified Engineer । ২০০৯ সালে কম্পিউটার সাইন্স থেকে বেচেলর ডিগ্রী অর্জন করি। দীর্ঘ ১৫ বছর আমি Winux Soft, SSL Wireless, IBCS-PRIMAX, Max Group, Canadian International Development Agency (CIDA), Care Bangladesh, World Vision, Hellen Keller, Amarbebsha Ltd সহ বিভিন্ন দেশি বিদেশী কোম্পানিতে ডেটা সাইন্স, মেশিন লার্নিং, বিগ ডেটা, ওয়েব ডেভেলপমেন্ট এবং সফটওয়্যার ডেভেলপমেন্ট এর উপর বিভিন্ন লিডিং পজিশন এ চাকরি এবং প্রজেক্ট লিড করি। এছাড়াও বাংলাদেশের ১৮৫ জন জেন্ড সার্টিফাইড ইঞ্জিনিয়ার এর মধ্যে ১২০ এরও অধিক ছাত্র আমার হাতে জেন্ড সার্টিফাইড ইঞ্জিনিয়ার হয়েছেন। বর্তমানে w3programmers ট্রেনিং ইনস্টিটিউট এ PHP এর উপর Professional এবং Advance Zend Certified PHP -8.2 Engineering, Laravel Mastering Course with ReactJS, Python Beginning To Advance with Blockchain, Machine Learning and Data Science, Professional WordPress Plugin Development Beginning to Advance কোর্স করাই। আর অবসর সময়ে w3programmers.com এ ওয়েব টেকনোলজি নিয়ে লেখালেখি করি।

Leave a Reply