প্রকৃত আচরণের বিষয়ে, কোনও পার্থক্য নেই। তারা সবাই ফিরে আসে Noneএবং এটাই। তবে এই সমস্তগুলির জন্য একটি সময় এবং জায়গা রয়েছে place নিম্নলিখিত নির্দেশাবলীটি মূলত বিভিন্ন পদ্ধতি কীভাবে ব্যবহার করা উচিত (বা কমপক্ষে কীভাবে আমাকে তাদের ব্যবহার করা উচিত তা শেখানো হয়েছিল) তবে সেগুলি নিখুঁত নিয়ম নয় তাই আপনি যদি প্রয়োজন বোধ করেন তবে সেগুলি মেশাতে পারেন।
ব্যবহার return None
এটি বলে যে ফাংশনটি প্রকৃতপক্ষে পরবর্তী ব্যবহারের জন্য কোনও মান ফেরত বোঝাতে হয় এবং এই ক্ষেত্রে এটি ফিরে আসে None। এই মানটি Noneঅন্য কোথাও ব্যবহার করা যেতে পারে। return Noneফাংশন থেকে অন্য কোনও সম্ভাব্য রিটার্ন মান না থাকলে কখনই ব্যবহার করা হয় না।
নিম্নলিখিত উদাহরণে, personপ্রদত্তটি motherযদি personকোনও মানুষ হয় তবে আমরা ফিরে আসি। যদি এটি কোনও মানুষ না হয় তবে আমরা ফিরে Noneআসি যেহেতু এর personএকটি নেই mother(আসুন ধরা যাক এটি কোনও প্রাণী বা কিছু নয়)।
def get_mother(person):
if is_human(person):
return person.mother
else:
return None
ব্যবহার return
এটি breakলুপগুলির মতো একই কারণে ব্যবহৃত হয়। রিটার্ন মানটি কোনও ব্যাপার নয় এবং আপনি কেবল পুরো ফাংশন থেকে প্রস্থান করতে চান। আপনার এটির প্রায়শই প্রয়োজন হয় না সত্ত্বেও এটি কিছু জায়গায় এটি অত্যন্ত কার্যকর।
আমরা 15 পেয়েছি prisonersএবং আমরা জানি যে তাদের একটির কাছে ছুরি রয়েছে। আমরা তাদের প্রত্যেকের কাছ prisonerথেকে ছুরি আছে কিনা তা পরীক্ষা করে লুপ করি । যদি আমরা সেই ব্যক্তিকে একটি ছুরি দিয়ে আঘাত করি তবে আমরা কেবলমাত্র ফাংশনটি থেকে বেরিয়ে যেতে পারি কারণ আমরা জানি যে কেবল একটি ছুরি আছে এবং চেক বাকী কোনও কারণ নেই prisoners। যদি আমরা prisonerএকটি ছুরি সহ এটি না পাই তবে আমরা একটি সতর্কতা বাড়িয়ে তুলি। এটি বিভিন্ন উপায়ে করা যেতে পারে এবং ব্যবহার returnকরা সম্ভবত সর্বোত্তম উপায় নয়, তবে returnকোনও ফাংশন থেকে বেরিয়ে আসার জন্য কীভাবে ব্যবহার করতে হয় তা প্রদর্শন করার জন্য এটি কেবল উদাহরণ ।
def find_prisoner_with_knife(prisoners):
for prisoner in prisoners:
if "knife" in prisoner.items:
prisoner.move_to_inquisition()
return # no need to check rest of the prisoners nor raise an alert
raise_alert()
দ্রষ্টব্য: আপনার কখনই করা উচিত নয় var = find_prisoner_with_knife(), যেহেতু ফেরতের মান ধরা হয় না।
কোন ব্যবহার returnএ সব
এটিও ফিরে আসবে None, তবে সেই মানটি ব্যবহার বা ধরা বোঝাতে নয়। এর সহজ অর্থ হল যে ফাংশনটি সফলভাবে শেষ হয়েছে। এটি মূলত হিসাবে একই returnমধ্যে voidযেমন সি ++ বা জাভা যেমন ভাষায় ফাংশন।
নিম্নলিখিত উদাহরণে, আমরা ব্যক্তির মায়ের নাম সেট করি এবং তারপরে সফলতার সাথে সমাপ্তির পরে ফাংশনটি বের হয়।
def set_mother(person, mother):
if is_human(person):
person.mother = mother
দ্রষ্টব্য: আপনার কখনই করা উচিত নয় var = set_mother(my_person, my_mother), যেহেতু ফেরতের মান ধরা হয় না।
return Noneআমার কাছে ইঙ্গিত দেয় যে ফাংশনটির মাঝে মাঝে একটিNoneফেরত না দেওয়া মান থাকে, তবে এর অবস্থানটিতে এইreturn Noneজাতীয় রিটার্নের মান নেই। না লিখতে মোটেওreturnবোঝা যায় না যে "ফাংশন" এর বিপরীতে কোনও "পদ্ধতি" এর মতো আকর্ষণীয় রিটার্ন মান কখনও হয় না।returnপূর্ববর্তী পয়েন্ট অনুসারে একটি "পদ্ধতি" থেকে প্রাথমিকভাবে উপস্থিত হওয়া বোঝায়।