পাইথনে নেস্টেড ফাংশন
কোড সংক্ষিপ্ত করার জন্য, কল করার সময় ফাংশনগুলিকে একে অপরের মধ্যে নেস্ট করা যেতে পারে।
ধরা যাক আমাদের কাছে একটি সংখ্যাকে বর্গক্ষেত্রে উন্নীত করার, ঘনক্ষেত্রে উন্নীত করার এবং দুটি সংখ্যার যোগফল নির্ণয়ের ফাংশন রয়েছে:
def square(num):
return num ** 2
def cube(num):
return num ** 3
def add(num1, num2):
return num1 + num2
একটি সংখ্যার বর্গ ও ঘনের যোগফল পেতে,
আমরা add ফাংশনটি কল করার সময় এর
প্যারামিটারে সেগুলো নেস্ট করতে পারি:
res = add(square(2), cube(4))
print(res) # আউটপুট হবে 68
এর পাশাপাশি, একটি ফাংশনের বডির ভিতরেও
অন্যান্য ফাংশন কল করা যায়। আসুন আগের উদাহরণটি
পুনরায় লিখি এবং ফাংশনগুলো add-এর ভিতর থেকে কল করি:
def add(num1, num2):
return square(num1) + cube(num2)
res = add(2, 4)
print(res) # আউটপুট হবে 68
এমন একটি ফাংশন তৈরি করুন যা একটি সংখ্যাকে বর্গক্ষেত্রে উন্নীত করবে এবং একটি ফাংশন যা সংখ্যাটির ঘনফল পাবে। এগুলোর সাহায্যে আরেকটি ফাংশন তৈরি করুন যা একটি সংখ্যার বর্গের ঘনফল স্ক্রিনে প্রদর্শন করবে।
এমন একটি ফাংশন তৈরি করুন যা একটি ভেরিয়েবলের টাইপ পরীক্ষা করবে এবং যদি ভেরিয়েবলটি একটি স্ট্রিং হয়, তবে এটিকে বড় হাতের অক্ষর দিয়ে প্রদর্শন করবে। এছাড়াও একটি ফাংশন তৈরি করুন যা ব্যবহারকারীকে নাম দিয়ে স্বাগত জানাবে। এটির ভিতরে প্রথম ফাংশনটি এমনভাবে নেস্ট করুন, যাতে নামটি সর্বদা বড় হাতের অক্ষর দিয়ে প্রদর্শিত হয়।