154 বার দেখা হয়েছে
"পাইথন" বিভাগে করেছেন

1 টি উত্তর

0 জনের পছন্দ 0 জনের অপছন্দ
পূর্বে করেছেন
পাইথনে একটি ফাংশনের মধ্যে অন্য একটি ফাংশন কল করা অত্যন্ত সহজ এবং এটি কোডকে পুনঃব্যবহারযোগ্য (reusable) করতে সাহায্য করে। এটি মূলত দুইভাবে করা যায়:

১. বাইরে ডিফাইন করা কোনো ফাংশনকে অন্য ফাংশনের ভেতর থেকে কল করা (সবচেয়ে সাধারণ পদ্ধতি)।

২. একটি ফাংশনের ভেতরেই আরেকটি ফাংশন তৈরি করে (Nested Function) সেটি কল করা।

নিচে দুটি পদ্ধতিরই সহজ উদাহরণ দেওয়া হলো:

পদ্ধতি ১: সাধারণ ফাংশন কল (Calling an external function)

এই পদ্ধতিতে প্রথমে একটি সাধারণ ফাংশন তৈরি করা হয়, এবং পরে অন্য একটি ফাংশন থেকে সেটিকে নাম ধরে কল করা হয়।

python

# প্রথম ফাংশন: যা শুধু বর্গ (Square) হিসাব করে

def square(number):

    return number * number

# দ্বিতীয় ফাংশন: যা বর্গের সাথে আরেকটি সংখ্যা যোগ করে

def square_and_add(num1, num2):

    # এখানে ভেতরের ফাংশনটি (square) কল করা হচ্ছে

    result = square(num1) 

    return result + num2

# ফাংশন টেস্ট করা

final_output = square_and_add(5, 10) # (৫ এর বর্গ = ২৫) + ১০ = ৩৫

print(final_output) # আউটপুট দেখাবে: 35

Use code with caution.

পদ্ধতি ২: নেস্টেড ফাংশন (Nested/Inner Function)

যখন একটি ফাংশন কেবল অন্য একটি নির্দিষ্ট ফাংশনের কাজের সহায়তার জন্য প্রয়োজন হয়, তখন তাকে মূল ফাংশনের ভেতরেই ডিফাইন বা তৈরি করা যায়। একে Nested Function বা Inner Function বলে।

python

# মূল বা আউটার (Outer) ফাংশন

def greet_user(name):

    

    # ভেতরের বা ইনার (Inner) ফাংশন

    def process_name():

        return name.strip().capitalize() # নামের স্পেস বাদ দিয়ে প্রথম অক্ষর বড় করবে

        

    # ভেতরের ফাংশনটি আউটার ফাংশনের ভেতর থেকেই কল করতে হবে

    cleaned_name = process_name()

    print(f"হ্যালো, {cleaned_name}! পাইথনে স্বাগতম।")

# ফাংশন টেস্ট করা

greet_user(" rahim ") # আউটপুট দেখাবে: হ্যালো, Rahim! পাইথনে স্বাগতম।

Use code with caution.

নোট: পদ্ধতি ২-এর ক্ষেত্রে process_name() ফাংশনটিকে আপনি greet_user() ফাংশনের বাইরে থেকে সরাসরি কল করতে পারবেন না। কারণ এর স্কোপ (Scope) বা সীমানা শুধুমাত্র ওই মূল ফাংশনটির ভেতরেই।

এরকম আরও কিছু প্রশ্ন

1 টি উত্তর

38,095 টি প্রশ্ন

37,529 টি উত্তর

1,844 টি মন্তব্য

3,947 জন সদস্য

Ask Answers সাইটে আপনাকে সুস্বাগতম! এখানে আপনি প্রশ্ন করতে পারবেন এবং অন্যদের প্রশ্নে উত্তর প্রদান করতে পারবেন ৷ আর অনলাইনে বিভিন্ন সমস্যার সমাধানের জন্য উন্মুক্ত তথ্যভাণ্ডার গড়ে তোলার কাজে অবদান রাখতে পারবেন ৷
12 জন অনলাইনে আছেন
0 জন সদস্য, 12 জন অতিথি
আজকে ভিজিট : 21012
গতকাল ভিজিট : 81797
সর্বমোট ভিজিট : 65909832
এখানে প্রকাশিত সকল প্রশ্ন ও উত্তরের দায়ভার কেবল সংশ্লিষ্ট প্রশ্নকর্তা ও উত্তর দানকারীর৷ কোন প্রকার আইনি সমস্যা Ask Answers কর্তৃপক্ষ বহন করবে না৷
...